From cb4ccdbb79212406129023efc57feddd07464a17 Mon Sep 17 00:00:00 2001 From: Sense101 <67970865+Sense101@users.noreply.github.com> Date: Tue, 25 Jan 2022 18:30:14 +0000 Subject: [PATCH] Prevent filter and tunnel from deleting extra acceptor items --- src/js/game/systems/filter.js | 7 +++---- src/js/game/systems/underground_belt.js | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/js/game/systems/filter.js b/src/js/game/systems/filter.js index 7f4c00d2..09a68174 100644 --- a/src/js/game/systems/filter.js +++ b/src/js/game/systems/filter.js @@ -4,8 +4,6 @@ import { Entity } from "../entity"; import { GameSystemWithFilter } from "../game_system_with_filter"; import { BOOL_TRUE_SINGLETON } from "../items/boolean_item"; -const MAX_ITEMS_IN_QUEUE = 2; - export class FilterSystem extends GameSystemWithFilter { constructor(root) { super(root, [FilterComponent]); @@ -21,7 +19,8 @@ export class FilterSystem extends GameSystemWithFilter { // Take items from acceptor const input = acceptorComp.completedInputs[0]; if (input && this.tryAcceptItem(entity, input.item, input.extraProgress)) { - acceptorComp.completedInputs = []; + // only remove one + acceptorComp.completedInputs.splice(0); } // Output to ejector @@ -64,7 +63,7 @@ export class FilterSystem extends GameSystemWithFilter { listToCheck = filterComp.pendingItemsToReject; } - if (listToCheck.length >= MAX_ITEMS_IN_QUEUE) { + if (!listToCheck.length) { // Busy return false; } diff --git a/src/js/game/systems/underground_belt.js b/src/js/game/systems/underground_belt.js index a3b92825..45b39ff5 100644 --- a/src/js/game/systems/underground_belt.js +++ b/src/js/game/systems/underground_belt.js @@ -323,7 +323,7 @@ export class UndergroundBeltSystem extends GameSystemWithFilter { input.extraProgress ) ) { - acceptorComp.completedInputs = []; + acceptorComp.completedInputs.splice(0); } } }