diff --git a/src/js/GeoZ/main.js b/src/js/GeoZ/main.js index 31837af6..00f6c1c8 100644 --- a/src/js/GeoZ/main.js +++ b/src/js/GeoZ/main.js @@ -192,7 +192,9 @@ export async function initMods() { if (mod.processors) { mod_infos += `${mod.processors.length} processors, `; for (const processor of mod.processors) { - ModProcessors[processor.getType()] = processor; + const type = processor.getType(); + ModProcessors[type] = processor; + globalConfig.buildingSpeeds[type] = processor.getBaseSpeed(); } } @@ -240,9 +242,9 @@ export async function initMods() { } logger.log(mod_infos); - } - + } + initShapes(); - + logger.log(`${Mods.length} mods loaded`); } diff --git a/src/js/game/hub_goals.js b/src/js/game/hub_goals.js index b342ebeb..049062ee 100644 --- a/src/js/game/hub_goals.js +++ b/src/js/game/hub_goals.js @@ -8,6 +8,7 @@ import { GameRoot } from "./root"; import { ShapeDefinition, ShapeLayer } from "./shape_definition"; import { enumHubGoalRewards, tutorialGoals } from "./tutorial_goals"; import { UPGRADES } from "./upgrades"; +import { ModProcessors } from "../GeoZ/main"; export class HubGoals extends BasicSerializableObject { static getId() { @@ -440,8 +441,17 @@ export class HubGoals extends BasicSerializableObject { globalConfig.buildingSpeeds[processorType] ); } - default: + default: { + if (ModProcessors[processorType]) { + return ( + globalConfig.beltSpeedItemsPerSecond * + this.upgradeImprovements.processors * + globalConfig.buildingSpeeds[processorType] + ); + } + assertAlways(false, "invalid processor type: " + processorType); + } } return 1 / globalConfig.beltSpeedItemsPerSecond;