diff --git a/src/js/game/components/goal_acceptor.js b/src/js/game/components/goal_acceptor.js index ab61d432..485f385b 100644 --- a/src/js/game/components/goal_acceptor.js +++ b/src/js/game/components/goal_acceptor.js @@ -47,7 +47,7 @@ export class GoalAcceptorComponent extends Component { this.currentDeliveredItems = 0; } - getRequiredItemsPerSecond() { + getRequiredSecondsPerItem() { return ( globalConfig.goalAcceptorsPerProducer / (globalConfig.puzzleModeSpeed * globalConfig.beltSpeedItemsPerSecond) diff --git a/src/js/game/systems/goal_acceptor.js b/src/js/game/systems/goal_acceptor.js index fce8e4c7..f7ac16a6 100644 --- a/src/js/game/systems/goal_acceptor.js +++ b/src/js/game/systems/goal_acceptor.js @@ -28,9 +28,8 @@ export class GoalAcceptorSystem extends GameSystemWithFilter { continue; } - if (now - goalComp.lastDelivery.time > goalComp.getRequiredItemsPerSecond()) { - goalComp.lastDelivery = null; - goalComp.currentDeliveredItems = 0; + if (now - goalComp.lastDelivery.time > goalComp.getRequiredSecondsPerItem()) { + goalComp.clearItems(); } if (goalComp.currentDeliveredItems < globalConfig.goalAcceptorItemsRequired) { diff --git a/src/js/game/systems/item_processor.js b/src/js/game/systems/item_processor.js index d5ec43e3..3794473f 100644 --- a/src/js/game/systems/item_processor.js +++ b/src/js/game/systems/item_processor.js @@ -573,13 +573,13 @@ export class ItemProcessorSystem extends GameSystemWithFilter { const item = payload.items[0].item; const now = this.root.time.now(); - goalComp.currentDeliveredItems = Math.min( - goalComp.currentDeliveredItems + 1, - globalConfig.goalAcceptorItemsRequired - ); - if (goalComp.item && !item.equals(goalComp.item)) { goalComp.clearItems(); + } else { + goalComp.currentDeliveredItems = Math.min( + goalComp.currentDeliveredItems + 1, + globalConfig.goalAcceptorItemsRequired + ); } if (this.root.gameMode.getIsEditor()) {