Add support for unshackled upgrades (#1086)

This commit is contained in:
domoddball
2022-06-03 06:19:06 -04:00
committed by GitHub
parent 9bfb8a44f9
commit fdcbbd7ab2
10 changed files with 19 additions and 11 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -15,4 +15,6 @@ export const ModDescription = `<a href="https://github.com/CookieMonsterTeam/Coo
export const LatestReleaseNotes = `This update adds support for some parts of cookie clicker 2.048</br> export const LatestReleaseNotes = `This update adds support for some parts of cookie clicker 2.048</br>
- added support for Dragon Aura 'Supreme Intellect' in the pantheon calculations</br> - added support for Dragon Aura 'Supreme Intellect' in the pantheon calculations</br>
- added support for new tiers of Shimmering veil</br> - added support for new tiers of Shimmering veil</br>
- added support for unshackled upgrades</br>
- updated some simulator logic to more cloesly match updated cookie clicker logic</br>
- resolved major issue for negative calculations due to missing glucosimium upgrades, kittens, and achievements</br>`; - resolved major issue for negative calculations due to missing glucosimium upgrades, kittens, and achievements</br>`;

View File

@@ -95,7 +95,7 @@ export default function InitialBuildingData(buildingName) {
}; };
} }
// Below is needed for above eval, specifically for the GetTieredCpsMult function // Below is needed for above eval, specifically for the SimGetTieredCpsMult function
you.baseCps = me.baseCps; you.baseCps = me.baseCps;
you.name = me.name; you.name = me.name;
you.tieredUpgrades = me.tieredUpgrades; you.tieredUpgrades = me.tieredUpgrades;
@@ -105,5 +105,6 @@ export default function InitialBuildingData(buildingName) {
you.baseCPS = me.baseCps; you.baseCPS = me.baseCps;
you.id = me.id; you.id = me.id;
you.vanilla = me.vanilla; you.vanilla = me.vanilla;
you.unshackleUpgrade = me.unshackleUpgrade;
return you; return you;
} }

View File

@@ -12,7 +12,8 @@ export default function SimAuraMult(what) {
n = 1; n = 1;
if ( if (
Game.dragonAuras[SimDragonAura].name === 'Reality Bending' || Game.dragonAuras[SimDragonAura].name === 'Reality Bending' ||
Game.dragonAuras[SimDragonAura2].name === 'Reality Bending' Game.dragonAuras[SimDragonAura2].name === 'Reality Bending' &&
Game.dragonLevel >= Game.dragonAurasBN[what].id + 4
) )
n += 0.1; n += 0.1;
return n; return n;

View File

@@ -1,8 +1,7 @@
import SimAuraMult from './SimAuraMult'; import SimAuraMult from './SimAuraMult';
/** /**
* This function calculates the sell multiplier based on current "sim data" * This functions creates functions similarly to Game.getSellMultiplier but checks Sim Data instead of Game Data
* It is called by CM.Sim.BuildingSell()
* @returns {number} giveBack The multiplier * @returns {number} giveBack The multiplier
*/ */
export default function SimGetSellMultiplier() { export default function SimGetSellMultiplier() {

View File

@@ -5,10 +5,15 @@ import SimHas from './SimHas';
* This functions creates functions similarly to Game.GetTieredCpsMult but checks Sim Data instead of Game Data * This functions creates functions similarly to Game.GetTieredCpsMult but checks Sim Data instead of Game Data
*/ */
export default function SimGetTieredCpsMult(me) { export default function SimGetTieredCpsMult(me) {
let mult = 1; let mult = 1;
Object.keys(me.tieredUpgrades).forEach((i) => { Object.keys(me.tieredUpgrades).forEach((i) => {
if (!Game.Tiers[me.tieredUpgrades[i].tier].special && SimHas(me.tieredUpgrades[i].name)) if (!Game.Tiers[me.tieredUpgrades[i].tier].special && SimHas(me.tieredUpgrades[i].name)){
mult *= 2; let tierMult=2;
// unshackled multipliers
if (Game.ascensionMode!==1 && SimHas(me.unshackleUpgrade) && SimHas(Game.Tiers[me.tieredUpgrades[i].tier].unshackleUpgrade)) tierMult+=me.id===1?0.5:(20-me.id)*0.1;
mult*=tierMult;
};
}); });
Object.keys(me.synergies).forEach((i) => { Object.keys(me.synergies).forEach((i) => {
if (SimHas(me.synergies[i].name)) { if (SimHas(me.synergies[i].name)) {

View File

@@ -5,6 +5,6 @@ import { SimUpgrades } from '../VariablesAndData';
*/ */
export default function SimHas(what) { export default function SimHas(what) {
const it = SimUpgrades[what]; const it = SimUpgrades[what];
if (Game.ascensionMode === 1 && (it.pool === 'prestige' || it.tier === 'fortune')) return 0; if (it && Game.ascensionMode === 1 && (it.pool === 'prestige' || it.tier === 'fortune')) return 0;
return it ? it.bought : 0; return it ? it.bought : 0;
} }