1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2025-12-15 11:11:51 +00:00

adjust hub goals

This commit is contained in:
Sense101 2022-01-22 18:40:46 +00:00
parent 0540a010a6
commit 132eff5f58
2 changed files with 46 additions and 40 deletions

View File

@ -87,17 +87,14 @@ export const globalConfig = {
puzzleMaxBoundsSize: 20, puzzleMaxBoundsSize: 20,
puzzleValidationDurationSeconds: 30, puzzleValidationDurationSeconds: 30,
buildingSpeeds: { buildingRatios: {
cutter: 1 / 4, cutter: 4,
cutterQuad: 1 / 4, cutterQuad: 4,
rotater: 1 / 1, painter: 6,
rotaterCCW: 1 / 1, painterDouble: 8,
rotater180: 1 / 1, painterQuad: 2,
painter: 1 / 6, mixer: 5,
painterDouble: 1 / 8, stacker: 8,
painterQuad: 1 / 2,
mixer: 1 / 5,
stacker: 1 / 8,
}, },
// Zooming // Zooming

View File

@ -507,55 +507,37 @@ export class HubGoals extends BasicSerializableObject {
} }
/** /**
* Processor speed * Processor time to process
* @param {enumItemProcessorTypes} processorType * @param {enumItemProcessorTypes} processorType
* @returns {number} items / sec * @returns {number} progress in tiles
*/ */
getProcessorBaseSpeed(processorType) { getProcessingProgress(processorType) {
if (this.root.gameMode.throughputDoesNotMatter()) { if (this.root.gameMode.throughputDoesNotMatter()) {
return globalConfig.beltSpeedItemsPerSecond * globalConfig.puzzleModeSpeed * 10; return 0;
} }
switch (processorType) { switch (processorType) {
case enumItemProcessorTypes.trash: case enumItemProcessorTypes.trash:
case enumItemProcessorTypes.hub: case enumItemProcessorTypes.hub:
case enumItemProcessorTypes.goal: case enumItemProcessorTypes.goal:
return 1e30;
case enumItemProcessorTypes.balancer: case enumItemProcessorTypes.balancer:
return globalConfig.beltSpeedItemsPerSecond * this.upgradeImprovements.belt * 2;
case enumItemProcessorTypes.reader: case enumItemProcessorTypes.reader:
return globalConfig.beltSpeedItemsPerSecond * this.upgradeImprovements.belt; case enumItemProcessorTypes.rotater:
case enumItemProcessorTypes.rotaterCCW:
case enumItemProcessorTypes.rotater180:
return 0;
case enumItemProcessorTypes.mixer: case enumItemProcessorTypes.mixer:
case enumItemProcessorTypes.painter: case enumItemProcessorTypes.painter:
case enumItemProcessorTypes.painterDouble: case enumItemProcessorTypes.painterDouble:
case enumItemProcessorTypes.painterQuad: { case enumItemProcessorTypes.painterQuad: {
assert( return this.getProgressWithUpgrades(this.upgradeImprovements.painting, processorType);
globalConfig.buildingSpeeds[processorType],
"Processor type has no speed set in globalConfig.buildingSpeeds: " + processorType
);
return (
globalConfig.beltSpeedItemsPerSecond *
this.upgradeImprovements.painting *
globalConfig.buildingSpeeds[processorType]
);
} }
case enumItemProcessorTypes.cutter: case enumItemProcessorTypes.cutter:
case enumItemProcessorTypes.cutterQuad: case enumItemProcessorTypes.cutterQuad:
case enumItemProcessorTypes.rotater:
case enumItemProcessorTypes.rotaterCCW:
case enumItemProcessorTypes.rotater180:
case enumItemProcessorTypes.stacker: { case enumItemProcessorTypes.stacker: {
assert( return this.getProgressWithUpgrades(this.upgradeImprovements.processors, processorType);
globalConfig.buildingSpeeds[processorType],
"Processor type has no speed set in globalConfig.buildingSpeeds: " + processorType
);
return (
globalConfig.beltSpeedItemsPerSecond *
this.upgradeImprovements.processors *
globalConfig.buildingSpeeds[processorType]
);
} }
default: default:
if (MOD_ITEM_PROCESSOR_SPEEDS[processorType]) { if (MOD_ITEM_PROCESSOR_SPEEDS[processorType]) {
@ -564,6 +546,33 @@ export class HubGoals extends BasicSerializableObject {
assertAlways(false, "invalid processor type: " + processorType); assertAlways(false, "invalid processor type: " + processorType);
} }
return 1 / globalConfig.beltSpeedItemsPerSecond; return 0;
}
/**
* @param {number} upgrade
* @param {number} upgrade
*/
getProgressWithUpgrades(upgrade, processorType) {
assert(
globalConfig.buildingRatios[processorType],
"Processor type has no speed set in globalConfig.buildingRatios: " + processorType
);
const progress = globalConfig.buildingRatios[processorType] - 1;
return progress / upgrade;
}
/**
* Processor speed
* @param {enumItemProcessorTypes} processorType
* @returns {number} items/sec
*/
getProcessorBaseSpeed(processorType) {
const progress = this.getProcessingProgress(processorType);
if (!progress) {
return this.getBeltBaseSpeed();
}
return globalConfig.beltSpeedItemsPerSecond / (progress + 1);
} }
} }