Show cookies from clicking in stats #698
This commit is contained in:
@@ -50,6 +50,14 @@ export class CMAvgQueue {
|
||||
}
|
||||
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 */
|
||||
import { ClickTimes } from '../Disp/VariablesAndData';
|
||||
import { CMAvgQueue, InitCookiesDiff } from './CPS/AverageQueue';
|
||||
import CacheAvgCPS from './CPS/CPS';
|
||||
import CacheDragonAuras from './Dragon/CacheDragonAuras';
|
||||
@@ -15,7 +16,10 @@ import {
|
||||
CacheGoldenAndWrathCookiesMults,
|
||||
CacheStatsCookies,
|
||||
} from './Stats/Stats';
|
||||
import { HeavenlyChipsDiff } from './VariablesAndData';
|
||||
import {
|
||||
CacheAverageCookiesFromClicks,
|
||||
HeavenlyChipsDiff,
|
||||
} from './VariablesAndData';
|
||||
import CacheWrinklers from './Wrinklers/Wrinklers';
|
||||
|
||||
/**
|
||||
@@ -31,6 +35,9 @@ export default function InitCache() {
|
||||
CacheSeasonSpec();
|
||||
InitCookiesDiff();
|
||||
HeavenlyChipsDiff = new CMAvgQueue(5); // Used by CM.Cache.CacheHeavenlyChipsPS()
|
||||
CacheAverageCookiesFromClicks = new CMAvgQueue(
|
||||
ClickTimes[ClickTimes.length - 1] * 20,
|
||||
);
|
||||
CacheHeavenlyChipsPS();
|
||||
CacheAvgCPS();
|
||||
CacheIncome();
|
||||
|
||||
@@ -39,6 +39,7 @@ export let CacheCurrWrinklerCount = 0;
|
||||
export let CacheUpgrades = {};
|
||||
|
||||
export let CacheAverageClicks = {};
|
||||
export let CacheAverageCookiesFromClicks;
|
||||
|
||||
export let CacheMissingUpgrades = {};
|
||||
export let CacheMissingUpgradesPrestige = {};
|
||||
|
||||
@@ -2,7 +2,7 @@ import ConfigDefault from '../../Data/SettingsDefault';
|
||||
import ConfigData from '../../Data/SettingsData';
|
||||
import { CMOptions } from '../VariablesAndData';
|
||||
import save from '../../InitSaveLoad/save';
|
||||
import CMLoop from '../../Main/Loop';
|
||||
import CMLoopHook from '../../Main/LoopHook';
|
||||
import UpdateColours from '../../Disp/HelperFunctions/UpdateColours';
|
||||
|
||||
/** Functions related to saving, loading and restoring all settings */
|
||||
@@ -68,7 +68,7 @@ export function LoadConfig(settings) {
|
||||
}
|
||||
});
|
||||
if (mod) SaveConfig();
|
||||
CMLoop(); // Do loop once
|
||||
CMLoopHook(); // Do loop once
|
||||
Object.keys(ConfigDefault).forEach((i) => {
|
||||
if (i !== 'Header' && typeof ConfigData[i].func !== 'undefined') {
|
||||
ConfigData[i].func();
|
||||
|
||||
@@ -8,6 +8,7 @@ import { CMOptions } from '../../../Config/VariablesAndData';
|
||||
|
||||
import {
|
||||
CacheAverageClicks,
|
||||
CacheAverageCookiesFromClicks,
|
||||
CacheWrinklersFattest,
|
||||
CacheWrinklersNormal,
|
||||
CacheWrinklersTotal,
|
||||
@@ -132,6 +133,21 @@ export default function AddMenuStats(title) {
|
||||
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')) {
|
||||
const fortunes = [];
|
||||
Object.keys(GameData.Fortunes).forEach((i) => {
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
/* eslint-disable no-unused-vars */
|
||||
import { VersionMajor, VersionMinor } from '../Data/Moddata';
|
||||
import Draw from '../Disp/Draw';
|
||||
import CMClickHook from '../Main/ClickHook';
|
||||
import InitializeCookieMonster from '../Main/Initialization';
|
||||
import CMLoop from '../Main/Loop';
|
||||
import CMLoopHook from '../Main/LoopHook';
|
||||
import { isInitializing } from './Variables';
|
||||
|
||||
/**
|
||||
@@ -22,7 +23,8 @@ export default function init() {
|
||||
if (proceed) {
|
||||
InitializeCookieMonster();
|
||||
Game.registerHook('draw', Draw);
|
||||
Game.registerHook('logic', CMLoop);
|
||||
Game.registerHook('logic', CMLoopHook);
|
||||
Game.registerHook('click', CMClickHook);
|
||||
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
|
||||
* 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) {
|
||||
LastAscendState = Game.OnAscend;
|
||||
UpdateAscendState();
|
||||
Reference in New Issue
Block a user