diff --git a/CookieMonster.js b/CookieMonster.js index 1140378..7c4a6fe 100644 --- a/CookieMonster.js +++ b/CookieMonster.js @@ -201,7 +201,10 @@ CM.Cache.RemakeChain = function() { CM.Cache.RemakeSeaSpec = function() { if (Game.season == 'christmas') { - CM.Cache.SeaSpec = Math.max(25, Game.cookiesPs * 60 * 1); + var val = Game.cookiesPs * 60; + if (Game.hasBuff('Elder frenzy')) val *= 0.5; // very sorry + if (Game.hasBuff('Frenzy')) val *= 0.75; // I sincerely apologize + CM.Cache.SeaSpec = Math.max(25, val); if (Game.Has('Ho ho ho-flavored frosting')) CM.Cache.SeaSpec *= 2; } } @@ -2638,12 +2641,8 @@ eval('CM.Sim.getGrandmaSynergyUpgradeMultiplier = ' + Game.getGrandmaSynergyUpgr CM.Sim.getCPSBuffMult = function() { var mult = 1; - var buffs = ['Frenzy', 'Elder frenzy', 'Clot', 'Dragon Harvest']; - for (var i in Game.goldenCookieBuildingBuffs) { - buffs.push(Game.goldenCookieBuildingBuffs[i][0], Game.goldenCookieBuildingBuffs[i][1]); - } - for (var i in buffs) { - if (Game.hasBuff(buffs[i]) && Game.buffs[buffs[i]].power) mult *= Game.buffs[buffs[i]].power; + for (var i in Game.buffs) { + if (typeof Game.buffs[i].multCpS != 'undefined') mult *= Game.buffs[i].multCpS; } return mult; } @@ -2714,10 +2713,10 @@ CM.Sim.CalculateGains = function() { if (Game.ascensionMode != 1) mult += parseFloat(CM.Sim.prestige) * 0.01 * CM.Sim.heavenlyPower * CM.Sim.GetHeavenlyMultiplier(); var cookieMult = 0; - for (var i in CM.Sim.Upgrades) { - var me = CM.Sim.Upgrades[i]; - 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); + for (var i in Game.cookieUpgrades) { + var me = Game.cookieUpgrades[i]; + if (CM.Sim.Has(me.name)) { + mult *= (1 + (typeof(me.power) == 'function' ? me.power(me) : me.power) * 0.01); } } @@ -2807,7 +2806,8 @@ CM.Sim.CalculateGains = function() { CM.Sim.cookiesPs *= mult; - if (Game.hasBuff('Cursed finger')) Game.cookiesPs = 0; + // TODO remove? + // if (Game.hasBuff('Cursed finger')) Game.cookiesPs = 0; }; CM.Sim.CheckOtherAchiev = function() { diff --git a/src/Cache.js b/src/Cache.js index c7a1e6a..654ef3e 100644 --- a/src/Cache.js +++ b/src/Cache.js @@ -181,7 +181,10 @@ CM.Cache.RemakeChain = function() { CM.Cache.RemakeSeaSpec = function() { if (Game.season == 'christmas') { - CM.Cache.SeaSpec = Math.max(25, Game.cookiesPs * 60 * 1); + var val = Game.cookiesPs * 60; + if (Game.hasBuff('Elder frenzy')) val *= 0.5; // very sorry + if (Game.hasBuff('Frenzy')) val *= 0.75; // I sincerely apologize + CM.Cache.SeaSpec = Math.max(25, val); if (Game.Has('Ho ho ho-flavored frosting')) CM.Cache.SeaSpec *= 2; } } diff --git a/src/Sim.js b/src/Sim.js index fad806c..1d405ff 100644 --- a/src/Sim.js +++ b/src/Sim.js @@ -101,12 +101,8 @@ eval('CM.Sim.getGrandmaSynergyUpgradeMultiplier = ' + Game.getGrandmaSynergyUpgr CM.Sim.getCPSBuffMult = function() { var mult = 1; - var buffs = ['Frenzy', 'Elder frenzy', 'Clot', 'Dragon Harvest']; - for (var i in Game.goldenCookieBuildingBuffs) { - buffs.push(Game.goldenCookieBuildingBuffs[i][0], Game.goldenCookieBuildingBuffs[i][1]); - } - for (var i in buffs) { - if (Game.hasBuff(buffs[i]) && Game.buffs[buffs[i]].power) mult *= Game.buffs[buffs[i]].power; + for (var i in Game.buffs) { + if (typeof Game.buffs[i].multCpS != 'undefined') mult *= Game.buffs[i].multCpS; } return mult; } @@ -177,10 +173,10 @@ CM.Sim.CalculateGains = function() { if (Game.ascensionMode != 1) mult += parseFloat(CM.Sim.prestige) * 0.01 * CM.Sim.heavenlyPower * CM.Sim.GetHeavenlyMultiplier(); var cookieMult = 0; - for (var i in CM.Sim.Upgrades) { - var me = CM.Sim.Upgrades[i]; - 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); + for (var i in Game.cookieUpgrades) { + var me = Game.cookieUpgrades[i]; + if (CM.Sim.Has(me.name)) { + mult *= (1 + (typeof(me.power) == 'function' ? me.power(me) : me.power) * 0.01); } } @@ -270,7 +266,8 @@ CM.Sim.CalculateGains = function() { CM.Sim.cookiesPs *= mult; - if (Game.hasBuff('Cursed finger')) Game.cookiesPs = 0; + // TODO remove? + // if (Game.hasBuff('Cursed finger')) Game.cookiesPs = 0; }; CM.Sim.CheckOtherAchiev = function() {