Minor goal acceptor adjustments to help prevent backing up belts to complete (#1236)

* added the new splitter

* Update base-en.yaml

* added the new splitter

Update changelog and update translation regarding 20 upgrade tiers, closes #907

* Update base-en.yaml

* minor goal acceptor adjustments to help prevent backing up belts to complete

* removed gap between completion and fill as it doesn't look nice

* removed api override

* fixed mistake with fill percentage

* Allowed for copying acceptors to remember the required shape

* further adjusted required items, so it looks a bit nicer
pull/1242/head
Sense101 3 years ago committed by GitHub
parent 285dd3840d
commit 5fb7bb0586
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -72,7 +72,7 @@ export const globalConfig = {
readerAnalyzeIntervalSeconds: 10,
goalAcceptorItemsRequired: 10,
goalAcceptorItemsRequired: 12,
goalAcceptorsPerProducer: 5,
puzzleModeSpeed: 3,
puzzleMinBoundsSize: 2,

@ -56,4 +56,12 @@ export class GoalAcceptorComponent extends Component {
(globalConfig.puzzleModeSpeed * globalConfig.beltSpeedItemsPerSecond)
);
}
/**
* Copy the current state to another component
* @param {GoalAcceptorComponent} otherComponent
*/
copyAdditionalStateTo(otherComponent) {
otherComponent.item = this.item;
}
}

@ -67,8 +67,9 @@ export class GoalAcceptorSystem extends GameSystemWithFilter {
const staticComp = contents[i].components.StaticMapEntity;
const item = goalComp.item;
const requiredItemsForSuccess = globalConfig.goalAcceptorItemsRequired;
const percentage = clamp(goalComp.currentDeliveredItems / requiredItemsForSuccess, 0, 1);
const requiredItems = globalConfig.goalAcceptorItemsRequired;
const fillPercentage = clamp(goalComp.currentDeliveredItems / requiredItems, 0, 1);
const center = staticComp.getTileSpaceBounds().getCenter().toWorldSpace();
if (item) {
@ -81,7 +82,7 @@ export class GoalAcceptorSystem extends GameSystemWithFilter {
);
}
const isValid = item && goalComp.currentDeliveredItems >= requiredItemsForSuccess;
const isValid = item && goalComp.currentDeliveredItems >= requiredItems;
parameters.context.translate(center.x, center.y);
parameters.context.rotate((staticComp.rotation / 180) * Math.PI);
@ -93,7 +94,7 @@ export class GoalAcceptorSystem extends GameSystemWithFilter {
// progress arc
goalComp.displayPercentage = lerp(goalComp.displayPercentage, percentage, 0.2);
goalComp.displayPercentage = lerp(goalComp.displayPercentage, fillPercentage, 0.2);
const startAngle = Math.PI * 0.595;
const maxAngle = Math.PI * 1.82;

Loading…
Cancel
Save