Added cookie per click bonus to tooltip

This commit is contained in:
Daniel van Noord
2020-12-18 23:17:10 +01:00
parent 7164801156
commit 90a79dbc0c
3 changed files with 218 additions and 4 deletions

View File

@@ -624,6 +624,9 @@ CM.Sim.BuyUpgrades = function() {
CM.Cache.Upgrades[i] = {};
CM.Cache.Upgrades[i].bonus = CM.Sim.cookiesPs - Game.cookiesPs;
var diffMouseCPS = CM.Sim.mouseCps() - Game.computedMouseCps;
if (diffMouseCPS) CM.Cache.Upgrades[i].bonusMouse = diffMouseCPS;
}
}
}
@@ -817,3 +820,84 @@ CM.Sim.SellBuildingsForChoEgg = function() {
return sellTotal;
}
/********
* Section: Functions used to calculate clicking power */
/**
* This function calculates the cookies per click
* It is called by CM.Sim.BuyUpgrades() when an upgrades has no bonus-income (and is thus a clicking-upgrade)
*/
CM.Sim.mouseCps = function() {
var add=0;
if (CM.Sim.Has('Thousand fingers')) add += 0.1;
if (CM.Sim.Has('Million fingers')) add *= 5;
if (CM.Sim.Has('Billion fingers')) add *= 10;
if (CM.Sim.Has('Trillion fingers')) add *= 20;
if (CM.Sim.Has('Quadrillion fingers')) add *= 20;
if (CM.Sim.Has('Quintillion fingers')) add *= 20;
if (CM.Sim.Has('Sextillion fingers')) add *= 20;
if (CM.Sim.Has('Septillion fingers')) add *= 20;
if (CM.Sim.Has('Octillion fingers')) add *= 20;
if (CM.Sim.Has('Nonillion fingers')) add *= 20;
var num=0;
for (var i in CM.Sim.Objects) {num+=CM.Sim.Objects[i].amount;}
num -= CM.Sim.Objects['Cursor'].amount;
add = add * num;
// Use CM.Sim.cookiesPs as function is always called after CM.Sim.CalculateGains()
if (CM.Sim.Has('Plastic mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Iron mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Titanium mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Adamantium mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Unobtainium mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Eludium mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Wishalloy mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Fantasteel mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Nevercrack mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Armythril mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Technobsidian mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Plasmarble mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Miraculite mouse')) add += CM.Sim.cookiesPs * 0.01;
if (CM.Sim.Has('Fortune #104')) add += CM.Sim.cookiesPs * 0.01;
var mult=1;
if (CM.Sim.Has('Santa\'s helpers')) mult *= 1.1;
if (CM.Sim.Has('Cookie egg')) mult *= 1.1;
if (CM.Sim.Has('Halo gloves')) mult *= 1.1;
if (CM.Sim.Has('Dragon claw')) mult *= 1.03;
if (CM.Sim.Has('Aura gloves'))
{
mult *= 1 + 0.05 * Math.min(Game.Objects['Cursor'].level, CM.Sim.Has('Luminous gloves') ? 20 : 10);
}
mult *= CM.Sim.eff('click');
if (CM.Sim.hasGod)
{
var godLvl = CM.Sim.hasGod('labor');
if (godLvl == 1) mult *= 1.15;
else if (godLvl == 2) mult *= 1.1;
else if (godLvl == 3) mult *= 1.05;
}
for (var i in Game.buffs)
{
if (typeof Game.buffs[i].multClick != 'undefined') mult*=Game.buffs[i].multClick;
}
//if (CM.Sim.auraMult('Dragon Cursor')) mult*=1.05;
mult *= 1 + CM.Sim.auraMult('Dragon Cursor') * 0.05;
// No need to make this function a CM function
var out = mult * Game.ComputeCps(1, CM.Sim.Has('Reinforced index finger') + CM.Sim.Has('Carpal tunnel prevention cream') + CM.Sim.Has('Ambidextrous'), add);
out = Game.runModHookOnValue('cookiesPerClick', out);
if (Game.hasBuff('Cursed finger')) out = Game.buffs['Cursed finger'].power;
return out;
}