* Bump dev to 2.031.6 * Added prettier (#661) * Added prettier * Added prettier * Added prettier
109 lines
3.5 KiB
JavaScript
109 lines
3.5 KiB
JavaScript
import SimAuraMult from '../ReplacedGameFunctions/SimAuraMult';
|
|
import SimEff from '../ReplacedGameFunctions/SimEff';
|
|
import SimGetTieredCpsMult from '../ReplacedGameFunctions/SimGetTieredCpsMult';
|
|
import SimHas from '../ReplacedGameFunctions/SimHas';
|
|
import { SimObjects } from '../VariablesAndData';
|
|
|
|
/**
|
|
* This function constructs an object with the static properties of a building,
|
|
* but with a 'cps' method changed to check sim data
|
|
*
|
|
* @param {string} buildingName Name of the building
|
|
* @returns {Object} you The static object
|
|
*/
|
|
export default function InitialBuildingData(buildingName) {
|
|
const me = Game.Objects[buildingName];
|
|
const you = {};
|
|
if (me.name === 'Cursor') {
|
|
you.cps = function (it) {
|
|
let add = 0;
|
|
if (SimHas('Thousand fingers')) add += 0.1;
|
|
if (SimHas('Million fingers')) add *= 5;
|
|
if (SimHas('Billion fingers')) add *= 10;
|
|
if (SimHas('Trillion fingers')) add *= 20;
|
|
if (SimHas('Quadrillion fingers')) add *= 20;
|
|
if (SimHas('Quintillion fingers')) add *= 20;
|
|
if (SimHas('Sextillion fingers')) add *= 20;
|
|
if (SimHas('Septillion fingers')) add *= 20;
|
|
if (SimHas('Octillion fingers')) add *= 20;
|
|
if (SimHas('Nonillion fingers')) add *= 20;
|
|
let mult = 1;
|
|
let num = 0;
|
|
for (const i in SimObjects) {
|
|
if (SimObjects[i].name !== 'Cursor') num += SimObjects[i].amount;
|
|
}
|
|
add *= num;
|
|
mult *= SimGetTieredCpsMult(it);
|
|
mult *= Game.magicCpS('Cursor');
|
|
mult *= SimEff('cursorCps');
|
|
return (
|
|
Game.ComputeCps(
|
|
0.1,
|
|
SimHas('Reinforced index finger') +
|
|
SimHas('Carpal tunnel prevention cream') +
|
|
SimHas('Ambidextrous'),
|
|
add,
|
|
) * mult
|
|
);
|
|
};
|
|
} else if (me.name === 'Grandma') {
|
|
you.cps = function (it) {
|
|
let mult = 1;
|
|
for (const i in Game.GrandmaSynergies) {
|
|
if (SimHas(Game.GrandmaSynergies[i])) mult *= 2;
|
|
}
|
|
if (SimHas('Bingo center/Research facility')) mult *= 4;
|
|
if (SimHas('Ritual rolling pins')) mult *= 2;
|
|
if (SimHas('Naughty list')) mult *= 2;
|
|
|
|
if (SimHas('Elderwort biscuits')) mult *= 1.02;
|
|
|
|
mult *= SimEff('grandmaCps');
|
|
|
|
if (SimHas('Cat ladies')) {
|
|
for (let i = 0; i < Game.UpgradesByPool.kitten.length; i++) {
|
|
if (SimHas(Game.UpgradesByPool.kitten[i].name)) mult *= 1.29;
|
|
}
|
|
}
|
|
|
|
mult *= SimGetTieredCpsMult(it);
|
|
|
|
let add = 0;
|
|
if (SimHas('One mind')) add += SimObjects.Grandma.amount * 0.02;
|
|
if (SimHas('Communal brainsweep'))
|
|
add += SimObjects.Grandma.amount * 0.02;
|
|
if (SimHas('Elder Pact')) add += SimObjects.Portal.amount * 0.05;
|
|
|
|
let num = 0;
|
|
for (const i in SimObjects) {
|
|
if (SimObjects[i].name !== 'Grandma') num += SimObjects[i].amount;
|
|
}
|
|
// if (Game.hasAura('Elder Battalion')) mult*=1+0.01*num;
|
|
mult *= 1 + SimAuraMult('Elder Battalion') * 0.01 * num;
|
|
|
|
mult *= Game.magicCpS(me.name);
|
|
|
|
return (me.baseCps + add) * mult;
|
|
};
|
|
} else {
|
|
you.cps = function (it) {
|
|
let mult = 1;
|
|
mult *= SimGetTieredCpsMult(it);
|
|
mult *= Game.magicCpS(it.name);
|
|
return it.baseCPS * mult;
|
|
};
|
|
}
|
|
|
|
// Below is needed for above eval, specifically for the GetTieredCpsMult function
|
|
you.baseCps = me.baseCps;
|
|
you.name = me.name;
|
|
you.tieredUpgrades = me.tieredUpgrades;
|
|
you.synergies = me.synergies;
|
|
you.fortune = me.fortune;
|
|
you.grandma = me.grandma;
|
|
you.baseCPS = me.baseCps;
|
|
you.id = me.id;
|
|
you.vanilla = me.vanilla;
|
|
return you;
|
|
}
|