Fix to work with 1.9 beta mostly

This commit is contained in:
Aktanusa
2015-12-26 16:38:36 -05:00
parent b134e3b45c
commit d870823c07
4 changed files with 284 additions and 320 deletions

View File

@@ -633,7 +633,8 @@ CM.Disp.CreateTimerBar = function() {
CM.Disp.TimerBarCF.style.height = '12px'; CM.Disp.TimerBarCF.style.height = '12px';
CM.Disp.TimerBarCF.style.margin = '0px 10px'; CM.Disp.TimerBarCF.style.margin = '0px 10px';
CM.Disp.TimerBarCF.style.position = 'relative'; CM.Disp.TimerBarCF.style.position = 'relative';
CM.Disp.TimerBarCF.appendChild(bar('Click Frenzy', [{id: 'CMTimerBarCFBar', color: CM.Disp.colorBlue}], 'CMTimerBarCFTime')); CM.Disp.TimerBarCF.appendChild(bar('', [{id: 'CMTimerBarCFBar'}], 'CMTimerBarCFTime'));
CM.Disp.TimerBarCF.firstChild.firstChild.id = 'CMTimerBarCFType';
CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarCF); CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarCF);
l('wrapper').appendChild(CM.Disp.TimerBar); l('wrapper').appendChild(CM.Disp.TimerBar);
@@ -709,6 +710,10 @@ CM.Disp.UpdateTimerBar = function() {
l('CMTimerBarFrenType').textContent = 'Clot'; l('CMTimerBarFrenType').textContent = 'Clot';
l('CMTimerBarFrenBar').className = CM.Disp.colorBackPre + CM.Disp.colorRed; l('CMTimerBarFrenBar').className = CM.Disp.colorBackPre + CM.Disp.colorRed;
} }
else if (Game.frenzyPower == 15) {
l('CMTimerBarFrenType').textContent = 'Dragon Harvest';
l('CMTimerBarFrenBar').className = CM.Disp.colorBackPre + CM.Disp.colorPurple;
}
else { else {
l('CMTimerBarFrenType').textContent = 'Blood Frenzy'; l('CMTimerBarFrenType').textContent = 'Blood Frenzy';
l('CMTimerBarFrenBar').className = CM.Disp.colorBackPre + CM.Disp.colorGreen; l('CMTimerBarFrenBar').className = CM.Disp.colorBackPre + CM.Disp.colorGreen;
@@ -723,6 +728,14 @@ CM.Disp.UpdateTimerBar = function() {
if (Game.clickFrenzy > 0) { if (Game.clickFrenzy > 0) {
CM.Disp.TimerBarCF.style.display = ''; CM.Disp.TimerBarCF.style.display = '';
if (Game.clickFrenzyPower == 777) {
l('CMTimerBarCFType').textContent = 'Click Frenzy';
l('CMTimerBarCFBar').className = CM.Disp.colorBackPre + CM.Disp.colorBlue;
}
else {
l('CMTimerBarCFType').textContent = 'Dragonflight';
l('CMTimerBarCFBar').className = CM.Disp.colorBackPre + CM.Disp.colorPurple;
}
l('CMTimerBarCFBar').style.width = Math.round(Game.clickFrenzy * maxWidth / Game.clickFrenzyMax) + 'px'; l('CMTimerBarCFBar').style.width = Math.round(Game.clickFrenzy * maxWidth / Game.clickFrenzyMax) + 'px';
l('CMTimerBarCFTime').textContent = Math.ceil(Game.clickFrenzy / Game.fps); l('CMTimerBarCFTime').textContent = Math.ceil(Game.clickFrenzy / Game.fps);
count++; count++;
@@ -744,8 +757,13 @@ CM.Disp.UpdateTimerBar = function() {
CM.Disp.UpdateBotTimerBarDisplay = function() { CM.Disp.UpdateBotTimerBarDisplay = function() {
if (Game.OnAscend) { if (Game.OnAscend) {
l('game').style.bottom = '0px'; l('game').style.bottom = '0px';
CM.Disp.BotBar.style.display = 'none';
CM.Disp.TimerBar.style.display = 'none';
CM.Disp.GCTimer.style.display = 'none';
} }
else { else {
CM.Disp.BotBar.style.display = '';
CM.Disp.TimerBar.style.display = '';
if (CM.Config.BotBar == 1 && CM.Config.TimerBar == 1 && CM.Config.TimerBarPos == 1) { if (CM.Config.BotBar == 1 && CM.Config.TimerBar == 1 && CM.Config.TimerBarPos == 1) {
CM.Disp.BotBar.style.bottom = '48px'; CM.Disp.BotBar.style.bottom = '48px';
l('game').style.bottom = '104px'; l('game').style.bottom = '104px';
@@ -1210,7 +1228,7 @@ CM.Disp.AddMenuPref = function(title) {
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'); 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();};
} }
CM.Disp.AddMenuStats = function(title) { CM.Disp.AddMenuStats = function(title) {
@@ -1344,8 +1362,9 @@ CM.Disp.AddMenuStats = function(title) {
hcMaxFrag.appendChild(document.createTextNode(Beautify(possibleHC))); hcMaxFrag.appendChild(document.createTextNode(Beautify(possibleHC)));
stats.appendChild(listing('Heavenly Chips (MAX)', hcMaxFrag)); stats.appendChild(listing('Heavenly Chips (MAX)', hcMaxFrag));
var hcCurFrag = document.createDocumentFragment(); var hcCurFrag = document.createDocumentFragment();
hcCurFrag.appendChild(document.createTextNode(Beautify(Game.heavenlyChipsEarned))); // Remove all chip stats?
stats.appendChild(listing('Heavenly Chips (CUR)', hcCurFrag)); //hcCurFrag.appendChild(document.createTextNode(Beautify(Game.heavenlyChipsEarned)));
//stats.appendChild(listing('Heavenly Chips (CUR)', hcCurFrag));
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))));
// Unneeded? // Unneeded?
@@ -1383,18 +1402,20 @@ CM.Disp.AddMenuStats = function(title) {
if (Game.cpsSucked > 0) { if (Game.cpsSucked > 0) {
stats.appendChild(header('Wrinklers', 'Wrink')); stats.appendChild(header('Wrinklers', 'Wrink'));
if (CM.Config.StatsPref.Wrink || (CM.Config.StatsPref.Sea && choEgg)) { if (CM.Config.StatsPref.Wrink || (CM.Config.StatsPref.Sea && choEgg)) {
var sucked = 0; var totalSucked = 0;
for (var i in Game.wrinklers) { for (var i in Game.wrinklers) {
sucked += Game.wrinklers[i].sucked; var sucked = Game.wrinklers[i].sucked;
var toSuck = 1.1;
if (Game.Has('Sacrilegious corruption')) toSuck *= 1.05;
if (Game.wrinklers[i].type==1) toSuck *= 3; //shiny wrinklers are an elusive, profitable breed
sucked *= toSuck;
if (Game.Has('Wrinklerspawn')) sucked *= 1.05;
totalSucked += sucked;
} }
var toSuck = 1.1;
if (Game.Has('Sacrilegious corruption')) toSuck *= 1.05;
sucked *= toSuck;
if (Game.Has('Wrinklerspawn')) sucked *= 1.05;
if (CM.Config.StatsPref.Wrink) { if (CM.Config.StatsPref.Wrink) {
var popAllFrag = document.createDocumentFragment(); var popAllFrag = document.createDocumentFragment();
popAllFrag.appendChild(document.createTextNode(Beautify(sucked) + ' ')); popAllFrag.appendChild(document.createTextNode(Beautify(totalSucked) + ' '));
var popAllA = document.createElement('a'); var popAllA = document.createElement('a');
popAllA.textContent = 'Pop All'; popAllA.textContent = 'Pop All';
popAllA.className = 'option'; popAllA.className = 'option';
@@ -1543,7 +1564,7 @@ CM.Disp.RefreshMenu = function() {
} }
CM.Disp.UpdateTooltipLocation = function() { CM.Disp.UpdateTooltipLocation = function() {
Game.tooltip.tta.style.top = Math.max(0, Math.min((l('game').clientHeight + l('topBar').clientHeight) - Game.tooltip.tt.clientHeight - CM.Disp.TooltipWarnCaut.clientHeight - 64, Game.mouseY - 48)) + 'px'; Game.tooltip.tta.style.top = Math.max(0, Math.min((l('game').clientHeight + l('topBar').clientHeight) - Game.tooltip.tt.clientHeight - CM.Disp.TooltipWarnCaut.clientHeight - 38, Game.mouseY - 48)) + 'px';
if (Game.tooltip.origin == 'wrink') { if (Game.tooltip.origin == 'wrink') {
Game.tooltip.tta.style.left = (Game.mouseX + l('tooltip').offsetWidth + 25) + 'px'; Game.tooltip.tta.style.left = (Game.mouseX + l('tooltip').offsetWidth + 25) + 'px';
Game.tooltip.tta.style.right = 'auto'; Game.tooltip.tta.style.right = 'auto';
@@ -1618,7 +1639,7 @@ CM.Disp.AddTooltipBuild = function() {
var me = Game.Objects[i]; var me = Game.Objects[i];
if (l('product' + me.id).onmouseover != null) { if (l('product' + me.id).onmouseover != null) {
CM.Disp.TooltipBuildBack[i] = l('product' + me.id).onmouseover; CM.Disp.TooltipBuildBack[i] = l('product' + me.id).onmouseover;
eval('l(\'product\' + me.id).onmouseover = function() {Game.tooltip.draw(this, function() {return CM.Disp.Tooltip(\'b\', \'' + i + '\');}, \'store\');}'); eval('l(\'product\' + me.id).onmouseover = function() {Game.tooltip.dynamic = 1; Game.tooltip.draw(this, function() {return CM.Disp.Tooltip(\'b\', \'' + i + '\');}, \'store\'); Game.tooltip.wobble();}');
} }
} }
} }
@@ -1629,7 +1650,7 @@ CM.Disp.AddTooltipUpgrade = function() {
var me = Game.UpgradesInStore[i]; var me = Game.UpgradesInStore[i];
if (l('upgrade' + i).onmouseover != null) { if (l('upgrade' + i).onmouseover != null) {
CM.Disp.TooltipUpgradeBack[i] = l('upgrade' + i).onmouseover; CM.Disp.TooltipUpgradeBack[i] = l('upgrade' + i).onmouseover;
eval('l(\'upgrade\' + i).onmouseover = function() {CM.Disp.Tooltip(\'u\', \'' + i + '\');}'); eval('l(\'upgrade\' + i).onmouseover = function() {if (!Game.mouseDown) {Game.setOnCrate(this); Game.tooltip.dynamic = 1; Game.tooltip.draw(this, function() {return CM.Disp.Tooltip(\'u\', \'' + i + '\');}, \'store\'); Game.tooltip.wobble();}}');
} }
} }
} }
@@ -1667,7 +1688,7 @@ CM.Disp.Tooltip = function(type, name) {
} }
} }
else { // Upgrades else { // Upgrades
CM.Disp.TooltipUpgradeBack[name](); l('tooltip').innerHTML = Game.crate(Game.UpgradesInStore[name], 'store', undefined, undefined, 1)();
} }
var area = document.createElement('div'); var area = document.createElement('div');
@@ -1713,9 +1734,9 @@ CM.Disp.Tooltip = function(type, name) {
CM.Disp.UpdateTooltip(); CM.Disp.UpdateTooltip();
if (type == 'b') { // if (type == 'b') {
return l('tooltip').innerHTML; return l('tooltip').innerHTML;
} // }
} }
CM.Disp.UpdateTooltip = function() { CM.Disp.UpdateTooltip = function() {
@@ -1882,6 +1903,7 @@ CM.Disp.UpdateWrinklerTooltip = function() {
var sucked = Game.wrinklers[CM.Disp.TooltipWrinkler].sucked; var sucked = Game.wrinklers[CM.Disp.TooltipWrinkler].sucked;
var toSuck = 1.1; var toSuck = 1.1;
if (Game.Has('Sacrilegious corruption')) toSuck *= 1.05; if (Game.Has('Sacrilegious corruption')) toSuck *= 1.05;
if (Game.wrinklers[CM.Disp.TooltipWrinkler].type == 1) toSuck *= 3; //shiny wrinklers are an elusive, profitable breed
sucked *= toSuck; sucked *= toSuck;
if (Game.Has('Wrinklerspawn')) sucked *= 1.05; if (Game.Has('Wrinklerspawn')) sucked *= 1.05;
l('CMTooltipWrinkler').textContent = Beautify(sucked); l('CMTooltipWrinkler').textContent = Beautify(sucked);
@@ -2065,6 +2087,7 @@ CM.Init = function() {
} }
CM.DelayInit = function() { CM.DelayInit = function() {
CM.Sim.InitData();
CM.Disp.CreateCssArea(); CM.Disp.CreateCssArea();
CM.Disp.CreateBotBar(); CM.Disp.CreateBotBar();
CM.Disp.CreateTimerBar(); CM.Disp.CreateTimerBar();
@@ -2083,7 +2106,7 @@ CM.DelayInit = function() {
CM.Disp.lastAscendState = Game.OnAscend; CM.Disp.lastAscendState = Game.OnAscend;
if (Game.prefs.popups) Game.Popup('Cookie Monster version ' + CM.VersionMajor + '.' + CM.VersionMinor + ' loaded!'); if (Game.prefs.popups) Game.Popup('Cookie Monster version ' + CM.VersionMajor + '.' + CM.VersionMinor + ' loaded!');
else Game.Notify('Cookie Monster version ' + CM.VersionMajor + '.' + CM.VersionMinor + ' loaded!','','',1); else Game.Notify('Cookie Monster version ' + CM.VersionMajor + '.' + CM.VersionMinor + ' loaded!','','',1, 1);
Game.Win('Third-party'); Game.Win('Third-party');
} }
@@ -2107,6 +2130,7 @@ CM.Sim.BuildingGetPrice = function(basePrice, start, increase) {
if (Game.Has('Santa\'s dominion')) price *= 0.99; if (Game.Has('Santa\'s dominion')) price *= 0.99;
if (Game.Has('Faberge egg')) price *= 0.99; if (Game.Has('Faberge egg')) price *= 0.99;
if (Game.Has('Divine discount')) price *= 0.99; if (Game.Has('Divine discount')) price *= 0.99;
if (Game.hasAura('Fierce Hoarder')) price *= 0.98;
totalPrice += Math.ceil(price); totalPrice += Math.ceil(price);
count++; count++;
} }
@@ -2116,7 +2140,9 @@ CM.Sim.BuildingGetPrice = function(basePrice, start, increase) {
CM.Sim.BuildingSell = function(basePrice, start, amount) { CM.Sim.BuildingSell = function(basePrice, start, amount) {
var totalMoni = 0; var totalMoni = 0;
while (amount > 0) { while (amount > 0) {
totalMoni += Math.floor(CM.Sim.BuildingGetPrice(basePrice, start, 1) * 0.5); var giveBack = 0.5;
if (Game.hasAura('Earth Shatterer')) giveBack = 0.85;
totalMoni += Math.floor(CM.Sim.BuildingGetPrice(basePrice, start, 1) * giveBack);
start--; start--;
amount--; amount--;
} }
@@ -2129,27 +2155,34 @@ CM.Sim.Win = function(what) {
if (CM.Sim.Achievements[what]) { if (CM.Sim.Achievements[what]) {
if (CM.Sim.Achievements[what].won == 0) { if (CM.Sim.Achievements[what].won == 0) {
CM.Sim.Achievements[what].won = 1; CM.Sim.Achievements[what].won = 1;
if (Game.Achievements[what].hide != 3) CM.Sim.AchievementsOwned++; if (Game.Achievements[what].pool != 'shadow') CM.Sim.AchievementsOwned++;
} }
} }
} }
eval('CM.Sim.HasAchiev = ' + Game.HasAchiev.toString().split('Game').join('CM.Sim')); eval('CM.Sim.HasAchiev = ' + Game.HasAchiev.toString().split('Game').join('CM.Sim'));
CM.Sim.CopyData = function() { eval('CM.Sim.GetHeavenlyMultiplier = ' + Game.GetHeavenlyMultiplier.toString().split('Game').join('CM.Sim'));
// Other variables
CM.Sim.UpgradesOwned = Game.UpgradesOwned;
CM.Sim.pledges = Game.pledges;
CM.Sim.AchievementsOwned = Game.AchievementsOwned;
CM.Sim.hasAura = function(what) {
if (Game.dragonAuras[CM.Sim.dragonAura].name == what || Game.dragonAuras[CM.Sim.dragonAura2].name == what)
return true;
else
return false;
}
eval('CM.Sim.GetTieredCpsMult = ' + Game.GetTieredCpsMult.toString().split('Game.Has').join('CM.Sim.Has').split('me.tieredUpgrades').join('Game.Objects[me.name].tieredUpgrades').split('me.synergies').join('Game.Objects[me.name].synergies').split('syn.buildingTie1.amount').join('CM.Sim.Objects[syn.buildingTie1.name].amount').split('syn.buildingTie2.amount').join('CM.Sim.Objects[syn.buildingTie2.name].amount'));
eval('CM.Sim.getGrandmaSynergyUpgradeMultiplier = ' + Game.getGrandmaSynergyUpgradeMultiplier.toString().split('Game.Objects[\'Grandma\']').join('CM.Sim.Objects[\'Grandma\']'));
CM.Sim.InitData = function() {
// Buildings // Buildings
CM.Sim.Objects = []; CM.Sim.Objects = [];
for (var i in Game.Objects) { for (var i in Game.Objects) {
CM.Sim.Objects[i] = {}; CM.Sim.Objects[i] = {};
var me = Game.Objects[i]; var me = Game.Objects[i];
var you = CM.Sim.Objects[i]; var you = CM.Sim.Objects[i];
you.amount = me.amount; eval('you.cps = ' + me.cps.toString().split('Game.Has').join('CM.Sim.Has').split('Game.hasAura').join('CM.Sim.hasAura').split('Game.Objects').join('CM.Sim.Objects').split('Game.GetTieredCpsMult').join('CM.Sim.GetTieredCpsMult').split('Game.getGrandmaSynergyUpgradeMultiplier').join('CM.Sim.getGrandmaSynergyUpgradeMultiplier'));
eval('you.cps = ' + me.cps.toString().split('Game.Has').join('CM.Sim.Has').split('Game.Objects').join('CM.Sim.Objects'));
// Below is needed for above eval! // Below is needed for above eval!
you.baseCps = me.baseCps; you.baseCps = me.baseCps;
you.name = me.name; you.name = me.name;
@@ -2159,15 +2192,41 @@ CM.Sim.CopyData = function() {
CM.Sim.Upgrades = []; CM.Sim.Upgrades = [];
for (var i in Game.Upgrades) { for (var i in Game.Upgrades) {
CM.Sim.Upgrades[i] = {}; CM.Sim.Upgrades[i] = {};
var me = Game.Upgrades[i];
var you = CM.Sim.Upgrades[i];
you.bought = me.bought;
} }
// Achievements // Achievements
CM.Sim.Achievements = []; CM.Sim.Achievements = [];
for (var i in Game.Achievements) { for (var i in Game.Achievements) {
CM.Sim.Achievements[i] = {}; CM.Sim.Achievements[i] = {};
}
}
CM.Sim.CopyData = function() {
// Other variables
CM.Sim.UpgradesOwned = Game.UpgradesOwned;
CM.Sim.pledges = Game.pledges;
CM.Sim.AchievementsOwned = Game.AchievementsOwned;
CM.Sim.heavenlyPower = Game.heavenlyPower;
CM.Sim.prestige = Game.prestige;
CM.Sim.dragonAura = Game.dragonAura;
CM.Sim.dragonAura2 = Game.dragonAura2;
// Buildings
for (var i in Game.Objects) {
var me = Game.Objects[i];
var you = CM.Sim.Objects[i];
you.amount = me.amount;
}
// Upgrades
for (var i in Game.Upgrades) {
var me = Game.Upgrades[i];
var you = CM.Sim.Upgrades[i];
you.bought = me.bought;
}
// Achievements
for (var i in Game.Achievements) {
var me = Game.Achievements[i]; var me = Game.Achievements[i];
var you = CM.Sim.Achievements[i]; var you = CM.Sim.Achievements[i];
you.won = me.won; you.won = me.won;
@@ -2179,20 +2238,18 @@ CM.Sim.CalculateGains = function() {
CM.Sim.cookiesPs = 0; CM.Sim.cookiesPs = 0;
var mult = 1; var mult = 1;
var heavenlyMult = 0; var heavenlyMult = CM.Sim.GetHeavenlyMultiplier();
if (CM.Sim.Has('Heavenly chip secret')) heavenlyMult += 0.05; mult += parseFloat(CM.Sim.prestige) * 0.01 * CM.Sim.heavenlyPower * heavenlyMult;
if (CM.Sim.Has('Heavenly cookie stand')) heavenlyMult += 0.20;
if (CM.Sim.Has('Heavenly bakery')) heavenlyMult += 0.25;
if (CM.Sim.Has('Heavenly confectionery')) heavenlyMult += 0.25;
if (CM.Sim.Has('Heavenly key')) heavenlyMult += 0.25;
mult += parseFloat(Game.heavenlyCookies) *0.1 * heavenlyMult;
var cookieMult = 0;
for (var i in CM.Sim.Upgrades) { for (var i in CM.Sim.Upgrades) {
var me = CM.Sim.Upgrades[i]; var me = CM.Sim.Upgrades[i];
if (me.bought > 0) { if (me.bought > 0) {
if (Game.Upgrades[i].pool == 'cookie' && CM.Sim.Has(Game.Upgrades[i].name)) mult *= (1 + (typeof(Game.Upgrades[i].power) == 'function' ? Game.Upgrades[i].power(Game.Upgrades[i]) : Game.Upgrades[i].power) * 0.01); if (Game.Upgrades[i].pool == 'cookie' && CM.Sim.Has(Game.Upgrades[i].name)) cookieMult += (typeof(Game.Upgrades[i].power) == 'function' ? Game.Upgrades[i].power(Game.Upgrades[i]) : Game.Upgrades[i].power);
} }
} }
mult *= (1 + 0.01 * cookieMult);
if (CM.Sim.Has('Specialized chocolate chips')) mult *= 1.01; if (CM.Sim.Has('Specialized chocolate chips')) mult *= 1.01;
if (CM.Sim.Has('Designer cocoa beans')) mult *= 1.02; if (CM.Sim.Has('Designer cocoa beans')) mult *= 1.02;
if (CM.Sim.Has('Underworld ovens')) mult *= 1.03; if (CM.Sim.Has('Underworld ovens')) mult *= 1.03;
@@ -2205,7 +2262,7 @@ CM.Sim.CalculateGains = function() {
if (CM.Sim.Has('An itchy sweater')) mult *= 1.01; if (CM.Sim.Has('An itchy sweater')) mult *= 1.01;
if (CM.Sim.Has('Santa\'s dominion')) mult *= 1.2; if (CM.Sim.Has('Santa\'s dominion')) mult *= 1.2;
if (CM.Sim.Has('Santa\'s legacy')) mult *= (Game.santaLevel + 1) * 0.05; if (CM.Sim.Has('Santa\'s legacy')) mult *= 1 + (Game.santaLevel + 1) * 0.05;
for (var i in CM.Sim.Objects) { for (var i in CM.Sim.Objects) {
var me = CM.Sim.Objects[i]; var me = CM.Sim.Objects[i];
@@ -2213,14 +2270,18 @@ CM.Sim.CalculateGains = function() {
} }
if (CM.Sim.Has('"egg"')) CM.Sim.cookiesPs += 9; // "egg" if (CM.Sim.Has('"egg"')) CM.Sim.cookiesPs += 9; // "egg"
if (CM.Sim.Has('"god"')) CM.Sim.cookiesPs += 9;// "god"
var milkMult = CM.Sim.Has('Santa\'s milk and cookies') ? 1.05 : 1; var milkMult=1;
if (CM.Sim.Has('Santa\'s milk and cookies')) milkMult *= 1.05;
if (CM.Sim.hasAura('Breath of Milk')) milkMult *= 1.05;
if (CM.Sim.Has('Kitten helpers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.05 * milkMult); if (CM.Sim.Has('Kitten helpers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.05 * milkMult);
if (CM.Sim.Has('Kitten workers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.1 * milkMult); if (CM.Sim.Has('Kitten workers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.1 * milkMult);
if (CM.Sim.Has('Kitten engineers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult); if (CM.Sim.Has('Kitten engineers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult);
if (CM.Sim.Has('Kitten overseers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult); if (CM.Sim.Has('Kitten overseers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult);
if (CM.Sim.Has('Kitten managers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult); if (CM.Sim.Has('Kitten managers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult);
if (CM.Sim.Has('Kitten accountants')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult);
if (CM.Sim.Has('Kitten specialists')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult);
if (CM.Sim.Has('Kitten experts')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult);
if (CM.Sim.Has('Kitten angels')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.1 * milkMult); if (CM.Sim.Has('Kitten angels')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.1 * milkMult);
var eggMult = 0; var eggMult = 0;
@@ -2244,15 +2305,28 @@ CM.Sim.CalculateGains = function() {
} }
mult *= (1 + 0.01 * eggMult); mult *= (1 + 0.01 * eggMult);
if (CM.Sim.hasAura('Radiant Appetite')) mult *= 2;
var rawCookiesPs = CM.Sim.cookiesPs * mult; var rawCookiesPs = CM.Sim.cookiesPs * mult;
for (var i = 0; i < Game.cpsAchievs.length / 2; i++) { for (var i in Game.CpsAchievements) {
if (rawCookiesPs >= Game.cpsAchievs[i * 2 + 1]) CM.Sim.Win(Game.cpsAchievs[i * 2]); if (rawCookiesPs >= Game.CpsAchievements[i].threshold) CM.Sim.Win(Game.CpsAchievements[i].name);
} }
if (Game.frenzy > 0) mult *= Game.frenzyPower; if (Game.frenzy > 0) mult *= Game.frenzyPower;
if (CM.Sim.Has('Elder Covenant')) mult *= 0.95; if (CM.Sim.Has('Elder Covenant')) mult *= 0.95;
if (CM.Sim.Has('Golden switch [off]')) {
var goldenSwitchMult = 1.25;
if (CM.Sim.Has('Residual luck')) {
var upgrades = ['Get lucky', 'Lucky day', 'Serendipity', 'Heavenly luck', 'Lasting fortune', 'Decisive fate'];
for (var i in upgrades) {
if (CM.Sim.Has(upgrades[i])) goldenSwitchMult += 0.01;
}
}
mult *= goldenSwitchMult;
}
CM.Sim.cookiesPs *= mult; CM.Sim.cookiesPs *= mult;
}; };
@@ -2269,40 +2343,28 @@ CM.Sim.CheckOtherAchiev = function() {
if (CM.Sim.Has('Rainbow grandmas')) grandmas++; if (CM.Sim.Has('Rainbow grandmas')) grandmas++;
if (!CM.Sim.HasAchiev('Elder') && grandmas >= 7) CM.Sim.Win('Elder'); if (!CM.Sim.HasAchiev('Elder') && grandmas >= 7) CM.Sim.Win('Elder');
// Redo?
var buildingsOwned = 0; var buildingsOwned = 0;
var oneOfEach = 1;
var mathematician = 1; var mathematician = 1;
var base10 = 1; var base10 = 1;
var centennial = 1; var minAmount = 100000;
var centennialhalf = 1;
var bicentennial = 1;
for (var i in CM.Sim.Objects) { for (var i in CM.Sim.Objects) {
buildingsOwned += CM.Sim.Objects[i].amount; buildingsOwned += CM.Sim.Objects[i].amount;
if (!CM.Sim.HasAchiev('One with everything')) { minAmount = Math.min(CM.Sim.Objects[i].amount, minAmount);
if (CM.Sim.Objects[i].amount == 0) oneOfEach = 0;
}
if (!CM.Sim.HasAchiev('Mathematician')) { if (!CM.Sim.HasAchiev('Mathematician')) {
if (CM.Sim.Objects[i].amount < Math.min(128, Math.pow(2, (Game.ObjectsById.length - Game.Objects[i].id) - 1))) mathematician = 0; if (CM.Sim.Objects[i].amount < Math.min(128, Math.pow(2, (Game.ObjectsById.length - Game.Objects[i].id) - 1))) mathematician = 0;
} }
if (!CM.Sim.HasAchiev('Base 10')) { if (!CM.Sim.HasAchiev('Base 10')) {
if (CM.Sim.Objects[i].amount < (Game.ObjectsById.length - Game.Objects[i].id)*10) base10 = 0; if (CM.Sim.Objects[i].amount < (Game.ObjectsById.length - Game.Objects[i].id)*10) base10 = 0;
} }
if (!CM.Sim.HasAchiev('Centennial')) {
if (CM.Sim.Objects[i].amount < 100) centennial = 0;
}
if (!CM.Sim.HasAchiev('Centennial and a half')) {
if (CM.Sim.Objects[i].amount < 150) centennialhalf = 0;
}
if (!CM.Sim.HasAchiev('Bicentennial')) {
if (CM.Sim.Objects[i].amount < 200) bicentennial = 0;
}
} }
if (oneOfEach == 1) CM.Sim.Win('One with everything'); if (minAmount >= 1) CM.Sim.Win('One with everything');
if (mathematician == 1) CM.Sim.Win('Mathematician'); if (mathematician == 1) CM.Sim.Win('Mathematician');
if (base10 == 1) CM.Sim.Win('Base 10'); if (base10 == 1) CM.Sim.Win('Base 10');
if (centennial == 1) CM.Sim.Win('Centennial'); if (minAmount >= 100) CM.Sim.Win('Centennial');
if (centennialhalf == 1) CM.Sim.Win('Centennial and a half'); if (minAmount >= 150) CM.Sim.Win('Centennial and a half');
if (bicentennial == 1) CM.Sim.Win('Bicentennial'); if (minAmount >= 200) CM.Sim.Win('Bicentennial');
if (minAmount >= 250) CM.Sim.Win('Bicentennial and a half');
if (buildingsOwned >= 100) CM.Sim.Win('Builder'); if (buildingsOwned >= 100) CM.Sim.Win('Builder');
if (buildingsOwned >= 500) CM.Sim.Win('Architect'); if (buildingsOwned >= 500) CM.Sim.Win('Architect');
@@ -2312,7 +2374,11 @@ CM.Sim.CheckOtherAchiev = function() {
if (CM.Sim.UpgradesOwned >= 20) CM.Sim.Win('Enhancer'); if (CM.Sim.UpgradesOwned >= 20) CM.Sim.Win('Enhancer');
if (CM.Sim.UpgradesOwned >= 50) CM.Sim.Win('Augmenter'); if (CM.Sim.UpgradesOwned >= 50) CM.Sim.Win('Augmenter');
if (CM.Sim.UpgradesOwned >= 100) CM.Sim.Win('Upgrader'); if (CM.Sim.UpgradesOwned >= 100) CM.Sim.Win('Upgrader');
if (CM.Sim.UpgradesOwned >= 150) CM.Sim.Win('Lord of Progress'); if (CM.Sim.UpgradesOwned >= 200) CM.Sim.Win('Lord of Progress');
if (buildingsOwned >= 3000 && CM.Sim.UpgradesOwned >= 300) CM.Sim.Win('Polymath');
if (CM.Sim.Objects['Cursor'].amount + CM.Sim.Objects['Grandma'].amount >= 777) CM.Sim.Win('The elder scrolls');
var hasAllHalloCook = true; var hasAllHalloCook = true;
for (var i in CM.Data.HalloCookies) { for (var i in CM.Data.HalloCookies) {
@@ -2342,98 +2408,13 @@ CM.Sim.BuyBuildings = function(amount, target) {
if (me.amount >= 200) CM.Sim.Win('The Digital'); if (me.amount >= 200) CM.Sim.Win('The Digital');
if (me.amount >= 300) CM.Sim.Win('Extreme polydactyly'); if (me.amount >= 300) CM.Sim.Win('Extreme polydactyly');
if (me.amount >= 400) CM.Sim.Win('Dr. T'); if (me.amount >= 400) CM.Sim.Win('Dr. T');
if (me.amount >= 500) CM.Sim.Win('Thumbs, phalanges, metacarpals');
} }
else if (i == 'Grandma') { else {
if (me.amount >= 1) CM.Sim.Win('Grandma\'s cookies'); for (var j in Game.Objects[me.name].tieredAchievs) {
if (me.amount >= 50) CM.Sim.Win('Sloppy kisses'); if (me.amount >= Game.Tiers[Game.Objects[me.name].tieredAchievs[j].tier].achievUnlock)
if (me.amount >= 100) CM.Sim.Win('Retirement home'); CM.Sim.Win(Game.Objects[me.name].tieredAchievs[j].name);
if (me.amount >= 150) CM.Sim.Win('Friend of the ancients'); }
if (me.amount >= 200) CM.Sim.Win('Ruler of the ancients');
if (me.amount >= 250) CM.Sim.Win('The old never bothered me anyway');
}
else if (i == 'Farm') {
if (me.amount >= 1) CM.Sim.Win('My first farm');
if (me.amount >= 50) CM.Sim.Win('Reap what you sow');
if (me.amount >= 100) CM.Sim.Win('Farm ill');
if (me.amount >= 150) CM.Sim.Win('Perfected agriculture');
if (me.amount >= 200) CM.Sim.Win('Homegrown');
}
else if (i == 'Mine') {
if (me.amount >= 1) CM.Sim.Win('You know the drill');
if (me.amount >= 50) CM.Sim.Win('Excavation site');
if (me.amount >= 100) CM.Sim.Win('Hollow the planet');
if (me.amount >= 150) CM.Sim.Win('Can you dig it');
if (me.amount >= 200) CM.Sim.Win('The center of the Earth');
}
else if (i == 'Factory') {
if (me.amount >= 1) CM.Sim.Win('Production chain');
if (me.amount >= 50) CM.Sim.Win('Industrial revolution');
if (me.amount >= 100) CM.Sim.Win('Global warming');
if (me.amount >= 150) CM.Sim.Win('Ultimate automation');
if (me.amount >= 200) CM.Sim.Win('Technocracy');
}
else if (i == 'Bank') {
if (me.amount >= 1) CM.Sim.Win('Pretty penny');
if (me.amount >= 50) CM.Sim.Win('Fit the bill');
if (me.amount >= 100) CM.Sim.Win('A loan in the dark');
if (me.amount >= 150) CM.Sim.Win('Need for greed');
if (me.amount >= 200) CM.Sim.Win('It\'s the economy, stupid');
}
else if (i == 'Temple') {
if (me.amount >= 1) CM.Sim.Win('Your time to shrine');
if (me.amount >= 50) CM.Sim.Win('Shady sect');
if (me.amount >= 100) CM.Sim.Win('New-age cult');
if (me.amount >= 150) CM.Sim.Win('Organized religion');
if (me.amount >= 200) CM.Sim.Win('Fanaticism');
}
else if (i == 'Wizard tower') {
if (me.amount >= 1) CM.Sim.Win('Bewitched');
if (me.amount >= 50) CM.Sim.Win('The sorcerer\'s apprentice');
if (me.amount >= 100) CM.Sim.Win('Charms and enchantments');
if (me.amount >= 150) CM.Sim.Win('Curses and maledictions');
if (me.amount >= 200) CM.Sim.Win('Magic kingdom');
}
else if (i == 'Shipment') {
if (me.amount >= 1) CM.Sim.Win('Expedition');
if (me.amount >= 50) CM.Sim.Win('Galactic highway');
if (me.amount >= 100) CM.Sim.Win('Far far away');
if (me.amount >= 150) CM.Sim.Win('Type II civilization');
if (me.amount >= 200) CM.Sim.Win('We come in peace');
}
else if (i == 'Alchemy lab') {
if (me.amount >= 1) CM.Sim.Win('Transmutation');
if (me.amount >= 50) CM.Sim.Win('Transmogrification');
if (me.amount >= 100) CM.Sim.Win('Gold member');
if (me.amount >= 150) CM.Sim.Win('Gild wars');
if (me.amount >= 200) CM.Sim.Win('The secrets of the universe');
}
else if (i == 'Portal') {
if (me.amount >= 1) CM.Sim.Win('A whole new world');
if (me.amount >= 50) CM.Sim.Win('Now you\'re thinking');
if (me.amount >= 100) CM.Sim.Win('Dimensional shift');
if (me.amount >= 150) CM.Sim.Win('Brain-split');
if (me.amount >= 200) CM.Sim.Win('Realm of the Mad God');
}
else if (i == 'Time machine') {
if (me.amount >= 1) CM.Sim.Win('Time warp');
if (me.amount >= 50) CM.Sim.Win('Alternate timeline');
if (me.amount >= 100) CM.Sim.Win('Rewriting history');
if (me.amount >= 150) CM.Sim.Win('Time duke');
if (me.amount >= 200) CM.Sim.Win('Forever and ever');
}
else if (i == 'Antimatter condenser') {
if (me.amount >= 1) CM.Sim.Win('Antibatter');
if (me.amount >= 50) CM.Sim.Win('Quirky quarks');
if (me.amount >= 100) CM.Sim.Win('It does matter!');
if (me.amount >= 150) CM.Sim.Win('Molecular maestro');
if (me.amount >= 200) CM.Sim.Win('Walk the planck');
}
else if (i == 'Prism') {
if (me.amount >= 1) CM.Sim.Win('Lone photon');
if (me.amount >= 50) CM.Sim.Win('Dazzling glimmer');
if (me.amount >= 100) CM.Sim.Win('Blinding flash');
if (me.amount >= 150) CM.Sim.Win('Unending glow');
if (me.amount >= 200) CM.Sim.Win('Rise and shine');
} }
var lastAchievementsOwned = CM.Sim.AchievementsOwned; var lastAchievementsOwned = CM.Sim.AchievementsOwned;
@@ -2454,11 +2435,11 @@ CM.Sim.BuyBuildings = function(amount, target) {
CM.Sim.BuyUpgrades = function() { CM.Sim.BuyUpgrades = function() {
CM.Cache.Upgrades = []; CM.Cache.Upgrades = [];
for (var i in Game.Upgrades) { for (var i in Game.Upgrades) {
if (Game.Upgrades[i].bought == 0 && Game.Upgrades[i].unlocked && Game.Upgrades[i].pool != 'prestige') { if (Game.Upgrades[i].pool == 'toggle' || (Game.Upgrades[i].bought == 0 && Game.Upgrades[i].unlocked && Game.Upgrades[i].pool != 'prestige')) {
CM.Sim.CopyData(); CM.Sim.CopyData();
var me = CM.Sim.Upgrades[i]; var me = CM.Sim.Upgrades[i];
me.bought = 1; me.bought = 1;
if (Game.Upgrades[i].pool == '' || Game.Upgrades[i].pool == 'cookie') CM.Sim.UpgradesOwned++; if (Game.Upgrades[i].pool == '' || Game.Upgrades[i].pool == 'cookie' || Game.Upgrades[i].pool == 'tech') CM.Sim.UpgradesOwned++;
if (i == 'Elder Pledge') { if (i == 'Elder Pledge') {
CM.Sim.pledges++; CM.Sim.pledges++;
@@ -2503,6 +2484,7 @@ CM.Sim.ResetBonus = function() {
if (Game.cookiesEarned >= 1000000000000000000000000) CM.Sim.Win('Transcendence'); if (Game.cookiesEarned >= 1000000000000000000000000) CM.Sim.Win('Transcendence');
if (Game.cookiesEarned >= 1000000000000000000000000000) CM.Sim.Win('Obliterate'); if (Game.cookiesEarned >= 1000000000000000000000000000) CM.Sim.Win('Obliterate');
if (Game.cookiesEarned >= 1000000000000000000000000000000) CM.Sim.Win('Negative void'); if (Game.cookiesEarned >= 1000000000000000000000000000000) CM.Sim.Win('Negative void');
if (Game.cookiesEarned >= 1000000000000000000000000000000000) CM.Sim.Win('To crumbs, you say?');
var lastAchievementsOwned = CM.Sim.AchievementsOwned; var lastAchievementsOwned = CM.Sim.AchievementsOwned;

View File

@@ -295,7 +295,8 @@ CM.Disp.CreateTimerBar = function() {
CM.Disp.TimerBarCF.style.height = '12px'; CM.Disp.TimerBarCF.style.height = '12px';
CM.Disp.TimerBarCF.style.margin = '0px 10px'; CM.Disp.TimerBarCF.style.margin = '0px 10px';
CM.Disp.TimerBarCF.style.position = 'relative'; CM.Disp.TimerBarCF.style.position = 'relative';
CM.Disp.TimerBarCF.appendChild(bar('Click Frenzy', [{id: 'CMTimerBarCFBar', color: CM.Disp.colorBlue}], 'CMTimerBarCFTime')); CM.Disp.TimerBarCF.appendChild(bar('', [{id: 'CMTimerBarCFBar'}], 'CMTimerBarCFTime'));
CM.Disp.TimerBarCF.firstChild.firstChild.id = 'CMTimerBarCFType';
CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarCF); CM.Disp.TimerBar.appendChild(CM.Disp.TimerBarCF);
l('wrapper').appendChild(CM.Disp.TimerBar); l('wrapper').appendChild(CM.Disp.TimerBar);
@@ -371,6 +372,10 @@ CM.Disp.UpdateTimerBar = function() {
l('CMTimerBarFrenType').textContent = 'Clot'; l('CMTimerBarFrenType').textContent = 'Clot';
l('CMTimerBarFrenBar').className = CM.Disp.colorBackPre + CM.Disp.colorRed; l('CMTimerBarFrenBar').className = CM.Disp.colorBackPre + CM.Disp.colorRed;
} }
else if (Game.frenzyPower == 15) {
l('CMTimerBarFrenType').textContent = 'Dragon Harvest';
l('CMTimerBarFrenBar').className = CM.Disp.colorBackPre + CM.Disp.colorPurple;
}
else { else {
l('CMTimerBarFrenType').textContent = 'Blood Frenzy'; l('CMTimerBarFrenType').textContent = 'Blood Frenzy';
l('CMTimerBarFrenBar').className = CM.Disp.colorBackPre + CM.Disp.colorGreen; l('CMTimerBarFrenBar').className = CM.Disp.colorBackPre + CM.Disp.colorGreen;
@@ -385,6 +390,14 @@ CM.Disp.UpdateTimerBar = function() {
if (Game.clickFrenzy > 0) { if (Game.clickFrenzy > 0) {
CM.Disp.TimerBarCF.style.display = ''; CM.Disp.TimerBarCF.style.display = '';
if (Game.clickFrenzyPower == 777) {
l('CMTimerBarCFType').textContent = 'Click Frenzy';
l('CMTimerBarCFBar').className = CM.Disp.colorBackPre + CM.Disp.colorBlue;
}
else {
l('CMTimerBarCFType').textContent = 'Dragonflight';
l('CMTimerBarCFBar').className = CM.Disp.colorBackPre + CM.Disp.colorPurple;
}
l('CMTimerBarCFBar').style.width = Math.round(Game.clickFrenzy * maxWidth / Game.clickFrenzyMax) + 'px'; l('CMTimerBarCFBar').style.width = Math.round(Game.clickFrenzy * maxWidth / Game.clickFrenzyMax) + 'px';
l('CMTimerBarCFTime').textContent = Math.ceil(Game.clickFrenzy / Game.fps); l('CMTimerBarCFTime').textContent = Math.ceil(Game.clickFrenzy / Game.fps);
count++; count++;
@@ -406,8 +419,13 @@ CM.Disp.UpdateTimerBar = function() {
CM.Disp.UpdateBotTimerBarDisplay = function() { CM.Disp.UpdateBotTimerBarDisplay = function() {
if (Game.OnAscend) { if (Game.OnAscend) {
l('game').style.bottom = '0px'; l('game').style.bottom = '0px';
CM.Disp.BotBar.style.display = 'none';
CM.Disp.TimerBar.style.display = 'none';
CM.Disp.GCTimer.style.display = 'none';
} }
else { else {
CM.Disp.BotBar.style.display = '';
CM.Disp.TimerBar.style.display = '';
if (CM.Config.BotBar == 1 && CM.Config.TimerBar == 1 && CM.Config.TimerBarPos == 1) { if (CM.Config.BotBar == 1 && CM.Config.TimerBar == 1 && CM.Config.TimerBarPos == 1) {
CM.Disp.BotBar.style.bottom = '48px'; CM.Disp.BotBar.style.bottom = '48px';
l('game').style.bottom = '104px'; l('game').style.bottom = '104px';
@@ -872,7 +890,7 @@ CM.Disp.AddMenuPref = function(title) {
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'); 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();};
} }
CM.Disp.AddMenuStats = function(title) { CM.Disp.AddMenuStats = function(title) {
@@ -1006,8 +1024,9 @@ CM.Disp.AddMenuStats = function(title) {
hcMaxFrag.appendChild(document.createTextNode(Beautify(possibleHC))); hcMaxFrag.appendChild(document.createTextNode(Beautify(possibleHC)));
stats.appendChild(listing('Heavenly Chips (MAX)', hcMaxFrag)); stats.appendChild(listing('Heavenly Chips (MAX)', hcMaxFrag));
var hcCurFrag = document.createDocumentFragment(); var hcCurFrag = document.createDocumentFragment();
hcCurFrag.appendChild(document.createTextNode(Beautify(Game.heavenlyChipsEarned))); // Remove all chip stats?
stats.appendChild(listing('Heavenly Chips (CUR)', hcCurFrag)); //hcCurFrag.appendChild(document.createTextNode(Beautify(Game.heavenlyChipsEarned)));
//stats.appendChild(listing('Heavenly Chips (CUR)', hcCurFrag));
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))));
// Unneeded? // Unneeded?
@@ -1045,18 +1064,20 @@ CM.Disp.AddMenuStats = function(title) {
if (Game.cpsSucked > 0) { if (Game.cpsSucked > 0) {
stats.appendChild(header('Wrinklers', 'Wrink')); stats.appendChild(header('Wrinklers', 'Wrink'));
if (CM.Config.StatsPref.Wrink || (CM.Config.StatsPref.Sea && choEgg)) { if (CM.Config.StatsPref.Wrink || (CM.Config.StatsPref.Sea && choEgg)) {
var sucked = 0; var totalSucked = 0;
for (var i in Game.wrinklers) { for (var i in Game.wrinklers) {
sucked += Game.wrinklers[i].sucked; var sucked = Game.wrinklers[i].sucked;
var toSuck = 1.1;
if (Game.Has('Sacrilegious corruption')) toSuck *= 1.05;
if (Game.wrinklers[i].type==1) toSuck *= 3; //shiny wrinklers are an elusive, profitable breed
sucked *= toSuck;
if (Game.Has('Wrinklerspawn')) sucked *= 1.05;
totalSucked += sucked;
} }
var toSuck = 1.1;
if (Game.Has('Sacrilegious corruption')) toSuck *= 1.05;
sucked *= toSuck;
if (Game.Has('Wrinklerspawn')) sucked *= 1.05;
if (CM.Config.StatsPref.Wrink) { if (CM.Config.StatsPref.Wrink) {
var popAllFrag = document.createDocumentFragment(); var popAllFrag = document.createDocumentFragment();
popAllFrag.appendChild(document.createTextNode(Beautify(sucked) + ' ')); popAllFrag.appendChild(document.createTextNode(Beautify(totalSucked) + ' '));
var popAllA = document.createElement('a'); var popAllA = document.createElement('a');
popAllA.textContent = 'Pop All'; popAllA.textContent = 'Pop All';
popAllA.className = 'option'; popAllA.className = 'option';
@@ -1205,7 +1226,7 @@ CM.Disp.RefreshMenu = function() {
} }
CM.Disp.UpdateTooltipLocation = function() { CM.Disp.UpdateTooltipLocation = function() {
Game.tooltip.tta.style.top = Math.max(0, Math.min((l('game').clientHeight + l('topBar').clientHeight) - Game.tooltip.tt.clientHeight - CM.Disp.TooltipWarnCaut.clientHeight - 64, Game.mouseY - 48)) + 'px'; Game.tooltip.tta.style.top = Math.max(0, Math.min((l('game').clientHeight + l('topBar').clientHeight) - Game.tooltip.tt.clientHeight - CM.Disp.TooltipWarnCaut.clientHeight - 38, Game.mouseY - 48)) + 'px';
if (Game.tooltip.origin == 'wrink') { if (Game.tooltip.origin == 'wrink') {
Game.tooltip.tta.style.left = (Game.mouseX + l('tooltip').offsetWidth + 25) + 'px'; Game.tooltip.tta.style.left = (Game.mouseX + l('tooltip').offsetWidth + 25) + 'px';
Game.tooltip.tta.style.right = 'auto'; Game.tooltip.tta.style.right = 'auto';
@@ -1280,7 +1301,7 @@ CM.Disp.AddTooltipBuild = function() {
var me = Game.Objects[i]; var me = Game.Objects[i];
if (l('product' + me.id).onmouseover != null) { if (l('product' + me.id).onmouseover != null) {
CM.Disp.TooltipBuildBack[i] = l('product' + me.id).onmouseover; CM.Disp.TooltipBuildBack[i] = l('product' + me.id).onmouseover;
eval('l(\'product\' + me.id).onmouseover = function() {Game.tooltip.draw(this, function() {return CM.Disp.Tooltip(\'b\', \'' + i + '\');}, \'store\');}'); eval('l(\'product\' + me.id).onmouseover = function() {Game.tooltip.dynamic = 1; Game.tooltip.draw(this, function() {return CM.Disp.Tooltip(\'b\', \'' + i + '\');}, \'store\'); Game.tooltip.wobble();}');
} }
} }
} }
@@ -1291,7 +1312,7 @@ CM.Disp.AddTooltipUpgrade = function() {
var me = Game.UpgradesInStore[i]; var me = Game.UpgradesInStore[i];
if (l('upgrade' + i).onmouseover != null) { if (l('upgrade' + i).onmouseover != null) {
CM.Disp.TooltipUpgradeBack[i] = l('upgrade' + i).onmouseover; CM.Disp.TooltipUpgradeBack[i] = l('upgrade' + i).onmouseover;
eval('l(\'upgrade\' + i).onmouseover = function() {CM.Disp.Tooltip(\'u\', \'' + i + '\');}'); eval('l(\'upgrade\' + i).onmouseover = function() {if (!Game.mouseDown) {Game.setOnCrate(this); Game.tooltip.dynamic = 1; Game.tooltip.draw(this, function() {return CM.Disp.Tooltip(\'u\', \'' + i + '\');}, \'store\'); Game.tooltip.wobble();}}');
} }
} }
} }
@@ -1329,7 +1350,7 @@ CM.Disp.Tooltip = function(type, name) {
} }
} }
else { // Upgrades else { // Upgrades
CM.Disp.TooltipUpgradeBack[name](); l('tooltip').innerHTML = Game.crate(Game.UpgradesInStore[name], 'store', undefined, undefined, 1)();
} }
var area = document.createElement('div'); var area = document.createElement('div');
@@ -1375,9 +1396,9 @@ CM.Disp.Tooltip = function(type, name) {
CM.Disp.UpdateTooltip(); CM.Disp.UpdateTooltip();
if (type == 'b') { // if (type == 'b') {
return l('tooltip').innerHTML; return l('tooltip').innerHTML;
} // }
} }
CM.Disp.UpdateTooltip = function() { CM.Disp.UpdateTooltip = function() {
@@ -1544,6 +1565,7 @@ CM.Disp.UpdateWrinklerTooltip = function() {
var sucked = Game.wrinklers[CM.Disp.TooltipWrinkler].sucked; var sucked = Game.wrinklers[CM.Disp.TooltipWrinkler].sucked;
var toSuck = 1.1; var toSuck = 1.1;
if (Game.Has('Sacrilegious corruption')) toSuck *= 1.05; if (Game.Has('Sacrilegious corruption')) toSuck *= 1.05;
if (Game.wrinklers[CM.Disp.TooltipWrinkler].type == 1) toSuck *= 3; //shiny wrinklers are an elusive, profitable breed
sucked *= toSuck; sucked *= toSuck;
if (Game.Has('Wrinklerspawn')) sucked *= 1.05; if (Game.Has('Wrinklerspawn')) sucked *= 1.05;
l('CMTooltipWrinkler').textContent = Beautify(sucked); l('CMTooltipWrinkler').textContent = Beautify(sucked);

View File

@@ -125,6 +125,7 @@ CM.Init = function() {
} }
CM.DelayInit = function() { CM.DelayInit = function() {
CM.Sim.InitData();
CM.Disp.CreateCssArea(); CM.Disp.CreateCssArea();
CM.Disp.CreateBotBar(); CM.Disp.CreateBotBar();
CM.Disp.CreateTimerBar(); CM.Disp.CreateTimerBar();
@@ -143,7 +144,7 @@ CM.DelayInit = function() {
CM.Disp.lastAscendState = Game.OnAscend; CM.Disp.lastAscendState = Game.OnAscend;
if (Game.prefs.popups) Game.Popup('Cookie Monster version ' + CM.VersionMajor + '.' + CM.VersionMinor + ' loaded!'); if (Game.prefs.popups) Game.Popup('Cookie Monster version ' + CM.VersionMajor + '.' + CM.VersionMinor + ' loaded!');
else Game.Notify('Cookie Monster version ' + CM.VersionMajor + '.' + CM.VersionMinor + ' loaded!','','',1); else Game.Notify('Cookie Monster version ' + CM.VersionMajor + '.' + CM.VersionMinor + ' loaded!','','',1, 1);
Game.Win('Third-party'); Game.Win('Third-party');
} }

View File

@@ -11,6 +11,7 @@ CM.Sim.BuildingGetPrice = function(basePrice, start, increase) {
if (Game.Has('Santa\'s dominion')) price *= 0.99; if (Game.Has('Santa\'s dominion')) price *= 0.99;
if (Game.Has('Faberge egg')) price *= 0.99; if (Game.Has('Faberge egg')) price *= 0.99;
if (Game.Has('Divine discount')) price *= 0.99; if (Game.Has('Divine discount')) price *= 0.99;
if (Game.hasAura('Fierce Hoarder')) price *= 0.98;
totalPrice += Math.ceil(price); totalPrice += Math.ceil(price);
count++; count++;
} }
@@ -20,7 +21,9 @@ CM.Sim.BuildingGetPrice = function(basePrice, start, increase) {
CM.Sim.BuildingSell = function(basePrice, start, amount) { CM.Sim.BuildingSell = function(basePrice, start, amount) {
var totalMoni = 0; var totalMoni = 0;
while (amount > 0) { while (amount > 0) {
totalMoni += Math.floor(CM.Sim.BuildingGetPrice(basePrice, start, 1) * 0.5); var giveBack = 0.5;
if (Game.hasAura('Earth Shatterer')) giveBack = 0.85;
totalMoni += Math.floor(CM.Sim.BuildingGetPrice(basePrice, start, 1) * giveBack);
start--; start--;
amount--; amount--;
} }
@@ -33,27 +36,34 @@ CM.Sim.Win = function(what) {
if (CM.Sim.Achievements[what]) { if (CM.Sim.Achievements[what]) {
if (CM.Sim.Achievements[what].won == 0) { if (CM.Sim.Achievements[what].won == 0) {
CM.Sim.Achievements[what].won = 1; CM.Sim.Achievements[what].won = 1;
if (Game.Achievements[what].hide != 3) CM.Sim.AchievementsOwned++; if (Game.Achievements[what].pool != 'shadow') CM.Sim.AchievementsOwned++;
} }
} }
} }
eval('CM.Sim.HasAchiev = ' + Game.HasAchiev.toString().split('Game').join('CM.Sim')); eval('CM.Sim.HasAchiev = ' + Game.HasAchiev.toString().split('Game').join('CM.Sim'));
CM.Sim.CopyData = function() { eval('CM.Sim.GetHeavenlyMultiplier = ' + Game.GetHeavenlyMultiplier.toString().split('Game').join('CM.Sim'));
// Other variables
CM.Sim.UpgradesOwned = Game.UpgradesOwned;
CM.Sim.pledges = Game.pledges;
CM.Sim.AchievementsOwned = Game.AchievementsOwned;
CM.Sim.hasAura = function(what) {
if (Game.dragonAuras[CM.Sim.dragonAura].name == what || Game.dragonAuras[CM.Sim.dragonAura2].name == what)
return true;
else
return false;
}
eval('CM.Sim.GetTieredCpsMult = ' + Game.GetTieredCpsMult.toString().split('Game.Has').join('CM.Sim.Has').split('me.tieredUpgrades').join('Game.Objects[me.name].tieredUpgrades').split('me.synergies').join('Game.Objects[me.name].synergies').split('syn.buildingTie1.amount').join('CM.Sim.Objects[syn.buildingTie1.name].amount').split('syn.buildingTie2.amount').join('CM.Sim.Objects[syn.buildingTie2.name].amount'));
eval('CM.Sim.getGrandmaSynergyUpgradeMultiplier = ' + Game.getGrandmaSynergyUpgradeMultiplier.toString().split('Game.Objects[\'Grandma\']').join('CM.Sim.Objects[\'Grandma\']'));
CM.Sim.InitData = function() {
// Buildings // Buildings
CM.Sim.Objects = []; CM.Sim.Objects = [];
for (var i in Game.Objects) { for (var i in Game.Objects) {
CM.Sim.Objects[i] = {}; CM.Sim.Objects[i] = {};
var me = Game.Objects[i]; var me = Game.Objects[i];
var you = CM.Sim.Objects[i]; var you = CM.Sim.Objects[i];
you.amount = me.amount; eval('you.cps = ' + me.cps.toString().split('Game.Has').join('CM.Sim.Has').split('Game.hasAura').join('CM.Sim.hasAura').split('Game.Objects').join('CM.Sim.Objects').split('Game.GetTieredCpsMult').join('CM.Sim.GetTieredCpsMult').split('Game.getGrandmaSynergyUpgradeMultiplier').join('CM.Sim.getGrandmaSynergyUpgradeMultiplier'));
eval('you.cps = ' + me.cps.toString().split('Game.Has').join('CM.Sim.Has').split('Game.Objects').join('CM.Sim.Objects'));
// Below is needed for above eval! // Below is needed for above eval!
you.baseCps = me.baseCps; you.baseCps = me.baseCps;
you.name = me.name; you.name = me.name;
@@ -63,15 +73,41 @@ CM.Sim.CopyData = function() {
CM.Sim.Upgrades = []; CM.Sim.Upgrades = [];
for (var i in Game.Upgrades) { for (var i in Game.Upgrades) {
CM.Sim.Upgrades[i] = {}; CM.Sim.Upgrades[i] = {};
var me = Game.Upgrades[i];
var you = CM.Sim.Upgrades[i];
you.bought = me.bought;
} }
// Achievements // Achievements
CM.Sim.Achievements = []; CM.Sim.Achievements = [];
for (var i in Game.Achievements) { for (var i in Game.Achievements) {
CM.Sim.Achievements[i] = {}; CM.Sim.Achievements[i] = {};
}
}
CM.Sim.CopyData = function() {
// Other variables
CM.Sim.UpgradesOwned = Game.UpgradesOwned;
CM.Sim.pledges = Game.pledges;
CM.Sim.AchievementsOwned = Game.AchievementsOwned;
CM.Sim.heavenlyPower = Game.heavenlyPower;
CM.Sim.prestige = Game.prestige;
CM.Sim.dragonAura = Game.dragonAura;
CM.Sim.dragonAura2 = Game.dragonAura2;
// Buildings
for (var i in Game.Objects) {
var me = Game.Objects[i];
var you = CM.Sim.Objects[i];
you.amount = me.amount;
}
// Upgrades
for (var i in Game.Upgrades) {
var me = Game.Upgrades[i];
var you = CM.Sim.Upgrades[i];
you.bought = me.bought;
}
// Achievements
for (var i in Game.Achievements) {
var me = Game.Achievements[i]; var me = Game.Achievements[i];
var you = CM.Sim.Achievements[i]; var you = CM.Sim.Achievements[i];
you.won = me.won; you.won = me.won;
@@ -83,20 +119,18 @@ CM.Sim.CalculateGains = function() {
CM.Sim.cookiesPs = 0; CM.Sim.cookiesPs = 0;
var mult = 1; var mult = 1;
var heavenlyMult = 0; var heavenlyMult = CM.Sim.GetHeavenlyMultiplier();
if (CM.Sim.Has('Heavenly chip secret')) heavenlyMult += 0.05; mult += parseFloat(CM.Sim.prestige) * 0.01 * CM.Sim.heavenlyPower * heavenlyMult;
if (CM.Sim.Has('Heavenly cookie stand')) heavenlyMult += 0.20;
if (CM.Sim.Has('Heavenly bakery')) heavenlyMult += 0.25;
if (CM.Sim.Has('Heavenly confectionery')) heavenlyMult += 0.25;
if (CM.Sim.Has('Heavenly key')) heavenlyMult += 0.25;
mult += parseFloat(Game.heavenlyCookies) *0.1 * heavenlyMult;
var cookieMult = 0;
for (var i in CM.Sim.Upgrades) { for (var i in CM.Sim.Upgrades) {
var me = CM.Sim.Upgrades[i]; var me = CM.Sim.Upgrades[i];
if (me.bought > 0) { if (me.bought > 0) {
if (Game.Upgrades[i].pool == 'cookie' && CM.Sim.Has(Game.Upgrades[i].name)) mult *= (1 + (typeof(Game.Upgrades[i].power) == 'function' ? Game.Upgrades[i].power(Game.Upgrades[i]) : Game.Upgrades[i].power) * 0.01); if (Game.Upgrades[i].pool == 'cookie' && CM.Sim.Has(Game.Upgrades[i].name)) cookieMult += (typeof(Game.Upgrades[i].power) == 'function' ? Game.Upgrades[i].power(Game.Upgrades[i]) : Game.Upgrades[i].power);
} }
} }
mult *= (1 + 0.01 * cookieMult);
if (CM.Sim.Has('Specialized chocolate chips')) mult *= 1.01; if (CM.Sim.Has('Specialized chocolate chips')) mult *= 1.01;
if (CM.Sim.Has('Designer cocoa beans')) mult *= 1.02; if (CM.Sim.Has('Designer cocoa beans')) mult *= 1.02;
if (CM.Sim.Has('Underworld ovens')) mult *= 1.03; if (CM.Sim.Has('Underworld ovens')) mult *= 1.03;
@@ -109,7 +143,7 @@ CM.Sim.CalculateGains = function() {
if (CM.Sim.Has('An itchy sweater')) mult *= 1.01; if (CM.Sim.Has('An itchy sweater')) mult *= 1.01;
if (CM.Sim.Has('Santa\'s dominion')) mult *= 1.2; if (CM.Sim.Has('Santa\'s dominion')) mult *= 1.2;
if (CM.Sim.Has('Santa\'s legacy')) mult *= (Game.santaLevel + 1) * 0.05; if (CM.Sim.Has('Santa\'s legacy')) mult *= 1 + (Game.santaLevel + 1) * 0.05;
for (var i in CM.Sim.Objects) { for (var i in CM.Sim.Objects) {
var me = CM.Sim.Objects[i]; var me = CM.Sim.Objects[i];
@@ -117,14 +151,18 @@ CM.Sim.CalculateGains = function() {
} }
if (CM.Sim.Has('"egg"')) CM.Sim.cookiesPs += 9; // "egg" if (CM.Sim.Has('"egg"')) CM.Sim.cookiesPs += 9; // "egg"
if (CM.Sim.Has('"god"')) CM.Sim.cookiesPs += 9;// "god"
var milkMult = CM.Sim.Has('Santa\'s milk and cookies') ? 1.05 : 1; var milkMult=1;
if (CM.Sim.Has('Santa\'s milk and cookies')) milkMult *= 1.05;
if (CM.Sim.hasAura('Breath of Milk')) milkMult *= 1.05;
if (CM.Sim.Has('Kitten helpers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.05 * milkMult); if (CM.Sim.Has('Kitten helpers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.05 * milkMult);
if (CM.Sim.Has('Kitten workers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.1 * milkMult); if (CM.Sim.Has('Kitten workers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.1 * milkMult);
if (CM.Sim.Has('Kitten engineers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult); if (CM.Sim.Has('Kitten engineers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult);
if (CM.Sim.Has('Kitten overseers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult); if (CM.Sim.Has('Kitten overseers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult);
if (CM.Sim.Has('Kitten managers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult); if (CM.Sim.Has('Kitten managers')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult);
if (CM.Sim.Has('Kitten accountants')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult);
if (CM.Sim.Has('Kitten specialists')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult);
if (CM.Sim.Has('Kitten experts')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.2 * milkMult);
if (CM.Sim.Has('Kitten angels')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.1 * milkMult); if (CM.Sim.Has('Kitten angels')) mult *= (1 + (CM.Sim.AchievementsOwned / 25) * 0.1 * milkMult);
var eggMult = 0; var eggMult = 0;
@@ -148,15 +186,28 @@ CM.Sim.CalculateGains = function() {
} }
mult *= (1 + 0.01 * eggMult); mult *= (1 + 0.01 * eggMult);
if (CM.Sim.hasAura('Radiant Appetite')) mult *= 2;
var rawCookiesPs = CM.Sim.cookiesPs * mult; var rawCookiesPs = CM.Sim.cookiesPs * mult;
for (var i = 0; i < Game.cpsAchievs.length / 2; i++) { for (var i in Game.CpsAchievements) {
if (rawCookiesPs >= Game.cpsAchievs[i * 2 + 1]) CM.Sim.Win(Game.cpsAchievs[i * 2]); if (rawCookiesPs >= Game.CpsAchievements[i].threshold) CM.Sim.Win(Game.CpsAchievements[i].name);
} }
if (Game.frenzy > 0) mult *= Game.frenzyPower; if (Game.frenzy > 0) mult *= Game.frenzyPower;
if (CM.Sim.Has('Elder Covenant')) mult *= 0.95; if (CM.Sim.Has('Elder Covenant')) mult *= 0.95;
if (CM.Sim.Has('Golden switch [off]')) {
var goldenSwitchMult = 1.25;
if (CM.Sim.Has('Residual luck')) {
var upgrades = ['Get lucky', 'Lucky day', 'Serendipity', 'Heavenly luck', 'Lasting fortune', 'Decisive fate'];
for (var i in upgrades) {
if (CM.Sim.Has(upgrades[i])) goldenSwitchMult += 0.01;
}
}
mult *= goldenSwitchMult;
}
CM.Sim.cookiesPs *= mult; CM.Sim.cookiesPs *= mult;
}; };
@@ -173,40 +224,28 @@ CM.Sim.CheckOtherAchiev = function() {
if (CM.Sim.Has('Rainbow grandmas')) grandmas++; if (CM.Sim.Has('Rainbow grandmas')) grandmas++;
if (!CM.Sim.HasAchiev('Elder') && grandmas >= 7) CM.Sim.Win('Elder'); if (!CM.Sim.HasAchiev('Elder') && grandmas >= 7) CM.Sim.Win('Elder');
// Redo?
var buildingsOwned = 0; var buildingsOwned = 0;
var oneOfEach = 1;
var mathematician = 1; var mathematician = 1;
var base10 = 1; var base10 = 1;
var centennial = 1; var minAmount = 100000;
var centennialhalf = 1;
var bicentennial = 1;
for (var i in CM.Sim.Objects) { for (var i in CM.Sim.Objects) {
buildingsOwned += CM.Sim.Objects[i].amount; buildingsOwned += CM.Sim.Objects[i].amount;
if (!CM.Sim.HasAchiev('One with everything')) { minAmount = Math.min(CM.Sim.Objects[i].amount, minAmount);
if (CM.Sim.Objects[i].amount == 0) oneOfEach = 0;
}
if (!CM.Sim.HasAchiev('Mathematician')) { if (!CM.Sim.HasAchiev('Mathematician')) {
if (CM.Sim.Objects[i].amount < Math.min(128, Math.pow(2, (Game.ObjectsById.length - Game.Objects[i].id) - 1))) mathematician = 0; if (CM.Sim.Objects[i].amount < Math.min(128, Math.pow(2, (Game.ObjectsById.length - Game.Objects[i].id) - 1))) mathematician = 0;
} }
if (!CM.Sim.HasAchiev('Base 10')) { if (!CM.Sim.HasAchiev('Base 10')) {
if (CM.Sim.Objects[i].amount < (Game.ObjectsById.length - Game.Objects[i].id)*10) base10 = 0; if (CM.Sim.Objects[i].amount < (Game.ObjectsById.length - Game.Objects[i].id)*10) base10 = 0;
} }
if (!CM.Sim.HasAchiev('Centennial')) {
if (CM.Sim.Objects[i].amount < 100) centennial = 0;
}
if (!CM.Sim.HasAchiev('Centennial and a half')) {
if (CM.Sim.Objects[i].amount < 150) centennialhalf = 0;
}
if (!CM.Sim.HasAchiev('Bicentennial')) {
if (CM.Sim.Objects[i].amount < 200) bicentennial = 0;
}
} }
if (oneOfEach == 1) CM.Sim.Win('One with everything'); if (minAmount >= 1) CM.Sim.Win('One with everything');
if (mathematician == 1) CM.Sim.Win('Mathematician'); if (mathematician == 1) CM.Sim.Win('Mathematician');
if (base10 == 1) CM.Sim.Win('Base 10'); if (base10 == 1) CM.Sim.Win('Base 10');
if (centennial == 1) CM.Sim.Win('Centennial'); if (minAmount >= 100) CM.Sim.Win('Centennial');
if (centennialhalf == 1) CM.Sim.Win('Centennial and a half'); if (minAmount >= 150) CM.Sim.Win('Centennial and a half');
if (bicentennial == 1) CM.Sim.Win('Bicentennial'); if (minAmount >= 200) CM.Sim.Win('Bicentennial');
if (minAmount >= 250) CM.Sim.Win('Bicentennial and a half');
if (buildingsOwned >= 100) CM.Sim.Win('Builder'); if (buildingsOwned >= 100) CM.Sim.Win('Builder');
if (buildingsOwned >= 500) CM.Sim.Win('Architect'); if (buildingsOwned >= 500) CM.Sim.Win('Architect');
@@ -216,7 +255,11 @@ CM.Sim.CheckOtherAchiev = function() {
if (CM.Sim.UpgradesOwned >= 20) CM.Sim.Win('Enhancer'); if (CM.Sim.UpgradesOwned >= 20) CM.Sim.Win('Enhancer');
if (CM.Sim.UpgradesOwned >= 50) CM.Sim.Win('Augmenter'); if (CM.Sim.UpgradesOwned >= 50) CM.Sim.Win('Augmenter');
if (CM.Sim.UpgradesOwned >= 100) CM.Sim.Win('Upgrader'); if (CM.Sim.UpgradesOwned >= 100) CM.Sim.Win('Upgrader');
if (CM.Sim.UpgradesOwned >= 150) CM.Sim.Win('Lord of Progress'); if (CM.Sim.UpgradesOwned >= 200) CM.Sim.Win('Lord of Progress');
if (buildingsOwned >= 3000 && CM.Sim.UpgradesOwned >= 300) CM.Sim.Win('Polymath');
if (CM.Sim.Objects['Cursor'].amount + CM.Sim.Objects['Grandma'].amount >= 777) CM.Sim.Win('The elder scrolls');
var hasAllHalloCook = true; var hasAllHalloCook = true;
for (var i in CM.Data.HalloCookies) { for (var i in CM.Data.HalloCookies) {
@@ -246,98 +289,13 @@ CM.Sim.BuyBuildings = function(amount, target) {
if (me.amount >= 200) CM.Sim.Win('The Digital'); if (me.amount >= 200) CM.Sim.Win('The Digital');
if (me.amount >= 300) CM.Sim.Win('Extreme polydactyly'); if (me.amount >= 300) CM.Sim.Win('Extreme polydactyly');
if (me.amount >= 400) CM.Sim.Win('Dr. T'); if (me.amount >= 400) CM.Sim.Win('Dr. T');
if (me.amount >= 500) CM.Sim.Win('Thumbs, phalanges, metacarpals');
} }
else if (i == 'Grandma') { else {
if (me.amount >= 1) CM.Sim.Win('Grandma\'s cookies'); for (var j in Game.Objects[me.name].tieredAchievs) {
if (me.amount >= 50) CM.Sim.Win('Sloppy kisses'); if (me.amount >= Game.Tiers[Game.Objects[me.name].tieredAchievs[j].tier].achievUnlock)
if (me.amount >= 100) CM.Sim.Win('Retirement home'); CM.Sim.Win(Game.Objects[me.name].tieredAchievs[j].name);
if (me.amount >= 150) CM.Sim.Win('Friend of the ancients'); }
if (me.amount >= 200) CM.Sim.Win('Ruler of the ancients');
if (me.amount >= 250) CM.Sim.Win('The old never bothered me anyway');
}
else if (i == 'Farm') {
if (me.amount >= 1) CM.Sim.Win('My first farm');
if (me.amount >= 50) CM.Sim.Win('Reap what you sow');
if (me.amount >= 100) CM.Sim.Win('Farm ill');
if (me.amount >= 150) CM.Sim.Win('Perfected agriculture');
if (me.amount >= 200) CM.Sim.Win('Homegrown');
}
else if (i == 'Mine') {
if (me.amount >= 1) CM.Sim.Win('You know the drill');
if (me.amount >= 50) CM.Sim.Win('Excavation site');
if (me.amount >= 100) CM.Sim.Win('Hollow the planet');
if (me.amount >= 150) CM.Sim.Win('Can you dig it');
if (me.amount >= 200) CM.Sim.Win('The center of the Earth');
}
else if (i == 'Factory') {
if (me.amount >= 1) CM.Sim.Win('Production chain');
if (me.amount >= 50) CM.Sim.Win('Industrial revolution');
if (me.amount >= 100) CM.Sim.Win('Global warming');
if (me.amount >= 150) CM.Sim.Win('Ultimate automation');
if (me.amount >= 200) CM.Sim.Win('Technocracy');
}
else if (i == 'Bank') {
if (me.amount >= 1) CM.Sim.Win('Pretty penny');
if (me.amount >= 50) CM.Sim.Win('Fit the bill');
if (me.amount >= 100) CM.Sim.Win('A loan in the dark');
if (me.amount >= 150) CM.Sim.Win('Need for greed');
if (me.amount >= 200) CM.Sim.Win('It\'s the economy, stupid');
}
else if (i == 'Temple') {
if (me.amount >= 1) CM.Sim.Win('Your time to shrine');
if (me.amount >= 50) CM.Sim.Win('Shady sect');
if (me.amount >= 100) CM.Sim.Win('New-age cult');
if (me.amount >= 150) CM.Sim.Win('Organized religion');
if (me.amount >= 200) CM.Sim.Win('Fanaticism');
}
else if (i == 'Wizard tower') {
if (me.amount >= 1) CM.Sim.Win('Bewitched');
if (me.amount >= 50) CM.Sim.Win('The sorcerer\'s apprentice');
if (me.amount >= 100) CM.Sim.Win('Charms and enchantments');
if (me.amount >= 150) CM.Sim.Win('Curses and maledictions');
if (me.amount >= 200) CM.Sim.Win('Magic kingdom');
}
else if (i == 'Shipment') {
if (me.amount >= 1) CM.Sim.Win('Expedition');
if (me.amount >= 50) CM.Sim.Win('Galactic highway');
if (me.amount >= 100) CM.Sim.Win('Far far away');
if (me.amount >= 150) CM.Sim.Win('Type II civilization');
if (me.amount >= 200) CM.Sim.Win('We come in peace');
}
else if (i == 'Alchemy lab') {
if (me.amount >= 1) CM.Sim.Win('Transmutation');
if (me.amount >= 50) CM.Sim.Win('Transmogrification');
if (me.amount >= 100) CM.Sim.Win('Gold member');
if (me.amount >= 150) CM.Sim.Win('Gild wars');
if (me.amount >= 200) CM.Sim.Win('The secrets of the universe');
}
else if (i == 'Portal') {
if (me.amount >= 1) CM.Sim.Win('A whole new world');
if (me.amount >= 50) CM.Sim.Win('Now you\'re thinking');
if (me.amount >= 100) CM.Sim.Win('Dimensional shift');
if (me.amount >= 150) CM.Sim.Win('Brain-split');
if (me.amount >= 200) CM.Sim.Win('Realm of the Mad God');
}
else if (i == 'Time machine') {
if (me.amount >= 1) CM.Sim.Win('Time warp');
if (me.amount >= 50) CM.Sim.Win('Alternate timeline');
if (me.amount >= 100) CM.Sim.Win('Rewriting history');
if (me.amount >= 150) CM.Sim.Win('Time duke');
if (me.amount >= 200) CM.Sim.Win('Forever and ever');
}
else if (i == 'Antimatter condenser') {
if (me.amount >= 1) CM.Sim.Win('Antibatter');
if (me.amount >= 50) CM.Sim.Win('Quirky quarks');
if (me.amount >= 100) CM.Sim.Win('It does matter!');
if (me.amount >= 150) CM.Sim.Win('Molecular maestro');
if (me.amount >= 200) CM.Sim.Win('Walk the planck');
}
else if (i == 'Prism') {
if (me.amount >= 1) CM.Sim.Win('Lone photon');
if (me.amount >= 50) CM.Sim.Win('Dazzling glimmer');
if (me.amount >= 100) CM.Sim.Win('Blinding flash');
if (me.amount >= 150) CM.Sim.Win('Unending glow');
if (me.amount >= 200) CM.Sim.Win('Rise and shine');
} }
var lastAchievementsOwned = CM.Sim.AchievementsOwned; var lastAchievementsOwned = CM.Sim.AchievementsOwned;
@@ -358,11 +316,11 @@ CM.Sim.BuyBuildings = function(amount, target) {
CM.Sim.BuyUpgrades = function() { CM.Sim.BuyUpgrades = function() {
CM.Cache.Upgrades = []; CM.Cache.Upgrades = [];
for (var i in Game.Upgrades) { for (var i in Game.Upgrades) {
if (Game.Upgrades[i].bought == 0 && Game.Upgrades[i].unlocked && Game.Upgrades[i].pool != 'prestige') { if (Game.Upgrades[i].pool == 'toggle' || (Game.Upgrades[i].bought == 0 && Game.Upgrades[i].unlocked && Game.Upgrades[i].pool != 'prestige')) {
CM.Sim.CopyData(); CM.Sim.CopyData();
var me = CM.Sim.Upgrades[i]; var me = CM.Sim.Upgrades[i];
me.bought = 1; me.bought = 1;
if (Game.Upgrades[i].pool == '' || Game.Upgrades[i].pool == 'cookie') CM.Sim.UpgradesOwned++; if (Game.Upgrades[i].pool == '' || Game.Upgrades[i].pool == 'cookie' || Game.Upgrades[i].pool == 'tech') CM.Sim.UpgradesOwned++;
if (i == 'Elder Pledge') { if (i == 'Elder Pledge') {
CM.Sim.pledges++; CM.Sim.pledges++;
@@ -407,6 +365,7 @@ CM.Sim.ResetBonus = function() {
if (Game.cookiesEarned >= 1000000000000000000000000) CM.Sim.Win('Transcendence'); if (Game.cookiesEarned >= 1000000000000000000000000) CM.Sim.Win('Transcendence');
if (Game.cookiesEarned >= 1000000000000000000000000000) CM.Sim.Win('Obliterate'); if (Game.cookiesEarned >= 1000000000000000000000000000) CM.Sim.Win('Obliterate');
if (Game.cookiesEarned >= 1000000000000000000000000000000) CM.Sim.Win('Negative void'); if (Game.cookiesEarned >= 1000000000000000000000000000000) CM.Sim.Win('Negative void');
if (Game.cookiesEarned >= 1000000000000000000000000000000000) CM.Sim.Win('To crumbs, you say?');
var lastAchievementsOwned = CM.Sim.AchievementsOwned; var lastAchievementsOwned = CM.Sim.AchievementsOwned;