Show cookies from clicking in stats #698
This commit is contained in:
File diff suppressed because one or more lines are too long
2
dist/CookieMonster.js
vendored
2
dist/CookieMonster.js
vendored
File diff suppressed because one or more lines are too long
2
dist/CookieMonster.js.map
vendored
2
dist/CookieMonster.js.map
vendored
File diff suppressed because one or more lines are too long
@@ -50,6 +50,14 @@ export class CMAvgQueue {
|
|||||||
}
|
}
|
||||||
return ret / time;
|
return ret / time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
calcSum(timePeriod) {
|
||||||
|
let time = timePeriod;
|
||||||
|
if (time > this.maxLength) time = this.maxLength;
|
||||||
|
if (time > this.queue.length) time = this.queue.length;
|
||||||
|
if (time === 0) return 0;
|
||||||
|
return this.queue.slice(-time).reduce((a, b) => a + b, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
/* eslint-disable no-unused-vars */
|
/* eslint-disable no-unused-vars */
|
||||||
|
import { ClickTimes } from '../Disp/VariablesAndData';
|
||||||
import { CMAvgQueue, InitCookiesDiff } from './CPS/AverageQueue';
|
import { CMAvgQueue, InitCookiesDiff } from './CPS/AverageQueue';
|
||||||
import CacheAvgCPS from './CPS/CPS';
|
import CacheAvgCPS from './CPS/CPS';
|
||||||
import CacheDragonAuras from './Dragon/CacheDragonAuras';
|
import CacheDragonAuras from './Dragon/CacheDragonAuras';
|
||||||
@@ -15,7 +16,10 @@ import {
|
|||||||
CacheGoldenAndWrathCookiesMults,
|
CacheGoldenAndWrathCookiesMults,
|
||||||
CacheStatsCookies,
|
CacheStatsCookies,
|
||||||
} from './Stats/Stats';
|
} from './Stats/Stats';
|
||||||
import { HeavenlyChipsDiff } from './VariablesAndData';
|
import {
|
||||||
|
CacheAverageCookiesFromClicks,
|
||||||
|
HeavenlyChipsDiff,
|
||||||
|
} from './VariablesAndData';
|
||||||
import CacheWrinklers from './Wrinklers/Wrinklers';
|
import CacheWrinklers from './Wrinklers/Wrinklers';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -31,6 +35,9 @@ export default function InitCache() {
|
|||||||
CacheSeasonSpec();
|
CacheSeasonSpec();
|
||||||
InitCookiesDiff();
|
InitCookiesDiff();
|
||||||
HeavenlyChipsDiff = new CMAvgQueue(5); // Used by CM.Cache.CacheHeavenlyChipsPS()
|
HeavenlyChipsDiff = new CMAvgQueue(5); // Used by CM.Cache.CacheHeavenlyChipsPS()
|
||||||
|
CacheAverageCookiesFromClicks = new CMAvgQueue(
|
||||||
|
ClickTimes[ClickTimes.length - 1] * 20,
|
||||||
|
);
|
||||||
CacheHeavenlyChipsPS();
|
CacheHeavenlyChipsPS();
|
||||||
CacheAvgCPS();
|
CacheAvgCPS();
|
||||||
CacheIncome();
|
CacheIncome();
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ export let CacheCurrWrinklerCount = 0;
|
|||||||
export let CacheUpgrades = {};
|
export let CacheUpgrades = {};
|
||||||
|
|
||||||
export let CacheAverageClicks = {};
|
export let CacheAverageClicks = {};
|
||||||
|
export let CacheAverageCookiesFromClicks;
|
||||||
|
|
||||||
export let CacheMissingUpgrades = {};
|
export let CacheMissingUpgrades = {};
|
||||||
export let CacheMissingUpgradesPrestige = {};
|
export let CacheMissingUpgradesPrestige = {};
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import ConfigDefault from '../../Data/SettingsDefault';
|
|||||||
import ConfigData from '../../Data/SettingsData';
|
import ConfigData from '../../Data/SettingsData';
|
||||||
import { CMOptions } from '../VariablesAndData';
|
import { CMOptions } from '../VariablesAndData';
|
||||||
import save from '../../InitSaveLoad/save';
|
import save from '../../InitSaveLoad/save';
|
||||||
import CMLoop from '../../Main/Loop';
|
import CMLoopHook from '../../Main/LoopHook';
|
||||||
import UpdateColours from '../../Disp/HelperFunctions/UpdateColours';
|
import UpdateColours from '../../Disp/HelperFunctions/UpdateColours';
|
||||||
|
|
||||||
/** Functions related to saving, loading and restoring all settings */
|
/** Functions related to saving, loading and restoring all settings */
|
||||||
@@ -68,7 +68,7 @@ export function LoadConfig(settings) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (mod) SaveConfig();
|
if (mod) SaveConfig();
|
||||||
CMLoop(); // Do loop once
|
CMLoopHook(); // Do loop once
|
||||||
Object.keys(ConfigDefault).forEach((i) => {
|
Object.keys(ConfigDefault).forEach((i) => {
|
||||||
if (i !== 'Header' && typeof ConfigData[i].func !== 'undefined') {
|
if (i !== 'Header' && typeof ConfigData[i].func !== 'undefined') {
|
||||||
ConfigData[i].func();
|
ConfigData[i].func();
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import { CMOptions } from '../../../Config/VariablesAndData';
|
|||||||
|
|
||||||
import {
|
import {
|
||||||
CacheAverageClicks,
|
CacheAverageClicks,
|
||||||
|
CacheAverageCookiesFromClicks,
|
||||||
CacheWrinklersFattest,
|
CacheWrinklersFattest,
|
||||||
CacheWrinklersNormal,
|
CacheWrinklersNormal,
|
||||||
CacheWrinklersTotal,
|
CacheWrinklersTotal,
|
||||||
@@ -132,6 +133,21 @@ export default function AddMenuStats(title) {
|
|||||||
document.createTextNode(Beautify(CacheAverageClicks, 1)),
|
document.createTextNode(Beautify(CacheAverageClicks, 1)),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
stats.appendChild(
|
||||||
|
CreateElements.StatsListing(
|
||||||
|
'basic',
|
||||||
|
`Cookies from clicking (Past ${ClickTimes[CMOptions.AvgClicksHist]}${
|
||||||
|
CMOptions.AvgClicksHist === 0 ? ' second' : ' seconds'
|
||||||
|
})`,
|
||||||
|
document.createTextNode(
|
||||||
|
Beautify(
|
||||||
|
CacheAverageCookiesFromClicks.calcSum(
|
||||||
|
CacheAverageClicks * ClickTimes[CMOptions.AvgClicksHist],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
if (Game.Has('Fortune cookies')) {
|
if (Game.Has('Fortune cookies')) {
|
||||||
const fortunes = [];
|
const fortunes = [];
|
||||||
Object.keys(GameData.Fortunes).forEach((i) => {
|
Object.keys(GameData.Fortunes).forEach((i) => {
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
/* eslint-disable no-unused-vars */
|
/* eslint-disable no-unused-vars */
|
||||||
import { VersionMajor, VersionMinor } from '../Data/Moddata';
|
import { VersionMajor, VersionMinor } from '../Data/Moddata';
|
||||||
import Draw from '../Disp/Draw';
|
import Draw from '../Disp/Draw';
|
||||||
|
import CMClickHook from '../Main/ClickHook';
|
||||||
import InitializeCookieMonster from '../Main/Initialization';
|
import InitializeCookieMonster from '../Main/Initialization';
|
||||||
import CMLoop from '../Main/Loop';
|
import CMLoopHook from '../Main/LoopHook';
|
||||||
import { isInitializing } from './Variables';
|
import { isInitializing } from './Variables';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -22,7 +23,8 @@ export default function init() {
|
|||||||
if (proceed) {
|
if (proceed) {
|
||||||
InitializeCookieMonster();
|
InitializeCookieMonster();
|
||||||
Game.registerHook('draw', Draw);
|
Game.registerHook('draw', Draw);
|
||||||
Game.registerHook('logic', CMLoop);
|
Game.registerHook('logic', CMLoopHook);
|
||||||
|
Game.registerHook('click', CMClickHook);
|
||||||
isInitializing = false;
|
isInitializing = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
6
src/Main/ClickHook.js
Normal file
6
src/Main/ClickHook.js
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
import { CacheAverageCookiesFromClicks } from '../Cache/VariablesAndData';
|
||||||
|
|
||||||
|
export default function CMClickHook() {
|
||||||
|
// Add cookies from click to array that stores average
|
||||||
|
CacheAverageCookiesFromClicks.addLatest(Game.computedMouseCps);
|
||||||
|
}
|
||||||
@@ -35,7 +35,7 @@ import { LastModCount } from './VariablesAndData';
|
|||||||
* Main loop of Cookie Monster
|
* Main loop of Cookie Monster
|
||||||
* CM.init registers it to the "logic" hook provided by the modding api
|
* CM.init registers it to the "logic" hook provided by the modding api
|
||||||
*/
|
*/
|
||||||
export default function CMLoop() {
|
export default function CMLoopHook() {
|
||||||
if (LastAscendState !== Game.OnAscend) {
|
if (LastAscendState !== Game.OnAscend) {
|
||||||
LastAscendState = Game.OnAscend;
|
LastAscendState = Game.OnAscend;
|
||||||
UpdateAscendState();
|
UpdateAscendState();
|
||||||
Reference in New Issue
Block a user