1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2026-03-02 03:39:21 +00:00

Rebalance the whole game, rename splitter -> balancer

This commit is contained in:
tobspr
2020-09-22 14:47:59 +02:00
parent b0058cb59b
commit c6eb1dad04
42 changed files with 1005 additions and 981 deletions

View File

@@ -11,29 +11,29 @@ import { formatItemsPerSecond } from "../../core/utils";
import { BeltUnderlaysComponent } from "../components/belt_underlays";
/** @enum {string} */
export const enumSplitterVariants = {
compact: "compact",
compactInverse: "compact-inverse",
compactMerge: "compact-merge",
compactMergeInverse: "compact-merge-inverse",
export const enumBalancerVariants = {
merger: "merger",
mergerInverse: "merger-inverse",
splitter: "splitter",
splitterInverse: "splitter-inverse",
};
export class MetaSplitterBuilding extends MetaBuilding {
export class MetaBalancerBuilding extends MetaBuilding {
constructor() {
super("splitter");
super("balancer");
}
getDimensions(variant) {
switch (variant) {
case defaultBuildingVariant:
return new Vector(2, 1);
case enumSplitterVariants.compact:
case enumSplitterVariants.compactInverse:
case enumSplitterVariants.compactMerge:
case enumSplitterVariants.compactMergeInverse:
case enumBalancerVariants.merger:
case enumBalancerVariants.mergerInverse:
case enumBalancerVariants.splitter:
case enumBalancerVariants.splitterInverse:
return new Vector(1, 1);
default:
assertAlways(false, "Unknown splitter variant: " + variant);
assertAlways(false, "Unknown balancer variant: " + variant);
}
}
@@ -43,7 +43,7 @@ export class MetaSplitterBuilding extends MetaBuilding {
* @returns {Array<[string, string]>}
*/
getAdditionalStatistics(root, variant) {
const speed = root.hubGoals.getProcessorBaseSpeed(enumItemProcessorTypes.splitter);
const speed = root.hubGoals.getProcessorBaseSpeed(enumItemProcessorTypes.balancer);
return [[T.ingame.buildingPlacement.infoTexts.speed, formatItemsPerSecond(speed)]];
}
@@ -57,12 +57,12 @@ export class MetaSplitterBuilding extends MetaBuilding {
getAvailableVariants(root) {
let available = [defaultBuildingVariant];
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_splitter_compact)) {
available.push(enumSplitterVariants.compact, enumSplitterVariants.compactInverse);
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_merger)) {
available.push(enumBalancerVariants.merger, enumBalancerVariants.mergerInverse);
}
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_merger_compact)) {
available.push(enumSplitterVariants.compactMerge, enumSplitterVariants.compactMergeInverse);
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_splitter)) {
available.push(enumBalancerVariants.splitter, enumBalancerVariants.splitterInverse);
}
return available;
@@ -72,7 +72,7 @@ export class MetaSplitterBuilding extends MetaBuilding {
* @param {GameRoot} root
*/
getIsUnlocked(root) {
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_splitter);
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_balancer);
}
/**
@@ -89,7 +89,7 @@ export class MetaSplitterBuilding extends MetaBuilding {
entity.addComponent(
new ItemProcessorComponent({
inputsPerCharge: 1,
processorType: enumItemProcessorTypes.splitter,
processorType: enumItemProcessorTypes.balancer,
})
);
@@ -135,8 +135,8 @@ export class MetaSplitterBuilding extends MetaBuilding {
break;
}
case enumSplitterVariants.compact:
case enumSplitterVariants.compactInverse: {
case enumBalancerVariants.merger:
case enumBalancerVariants.mergerInverse: {
entity.components.ItemAcceptor.setSlots([
{
pos: new Vector(0, 0),
@@ -145,7 +145,7 @@ export class MetaSplitterBuilding extends MetaBuilding {
{
pos: new Vector(0, 0),
directions: [
variant === enumSplitterVariants.compactInverse
variant === enumBalancerVariants.mergerInverse
? enumDirection.left
: enumDirection.right,
],
@@ -162,8 +162,8 @@ export class MetaSplitterBuilding extends MetaBuilding {
break;
}
case enumSplitterVariants.compactMerge:
case enumSplitterVariants.compactMergeInverse: {
case enumBalancerVariants.splitter:
case enumBalancerVariants.splitterInverse: {
entity.components.ItemAcceptor.setSlots([
{
pos: new Vector(0, 0),
@@ -179,7 +179,7 @@ export class MetaSplitterBuilding extends MetaBuilding {
{
pos: new Vector(0, 0),
direction:
variant === enumSplitterVariants.compactMergeInverse
variant === enumBalancerVariants.splitterInverse
? enumDirection.left
: enumDirection.right,
},
@@ -192,7 +192,7 @@ export class MetaSplitterBuilding extends MetaBuilding {
break;
}
default:
assertAlways(false, "Unknown splitter variant: " + variant);
assertAlways(false, "Unknown balancer variant: " + variant);
}
}
}